SSHの公開鍵をログイン用としてLinuxサーバーに設定する手順を紹介します。
認証に用いるSSHのキーペアをさ作成します。Windows では"PuTTYgen"というソフトウェアを利用して作成できます。
PuTTYのインストール手順はこちらの記事を参照してください。
標準インストールでPuTTYをインストールするとPuTTYgenもインストールされます。
PuTTYgenでのキーペアの作成手順はこちらの記事を参照してください。
作成したキーペアファイルのうち公開鍵をLinuxサーバーにアップロードします。
最近のLinuxはSSHがデフォルトでインストールされていることが多いため、sshdを起動し、SCPまたはSFTPでファイルをアップロードするのが簡単です。
Windowsからは"WinSCP"というソフトウェアを利用するとSCP,SFTPでのファイル転送ができます。
WinSCPのインストール手順はこちらの記事を参照してください。
WinSCPでのLinuxサーバーへの接続手順はこちらの記事を参照してください。
PuTTYgenで作成した公開鍵はそのままでは、OpenSSHの公開鍵としては使えません。ssh-keygen コマンドを実行して公開鍵を変換します。以下のコマンドを実行します。
ssh-keygen -i -f (PuTTYgenで生成した公開鍵) > (変換先ファイル名)
ssh-keygen -i -f mykey.pub > mykey-os.pub
ここからは、Linuxサーバー側の端末で作業します。
su (SSHで接続するユーザー名)
SSHで接続するユーザーに切り替えます。rootアカウントを持っていない場合はSSHで接続するユーザーでLinuxにログインします。
SSHで接続するユーザーのホームディレクトリで下記のコマンドを実行します。
ls -lsa
ファイル一覧が表示されますので ".ssh"ディレクトリが存在するか確認します。
ディレクトリがなければ
mkdir .ssh
コマンドを実行しディレクトリを作成します。
OpenSSH形式の公開鍵をauthorized_keysファイルに追記します。
下記のコマンドを実行するか、geditやvi,emacsなどでコピーペーストします。
cat (OepnSSH形式の公開鍵ファイル名) >> (.sshディレクトリ内のauthorized_keysファイルのパス)
cat mykey-ssh.pub >> .ssh/authorized_keys
または
cat /home/penguin/mykey-ssh.pub >> /home/penguin/.ssh/authorized_keys
動作確認をします。
こちらのページの"RSAキーペアを用いた認証で接続する場合"の接続手順で接続ができるかを確認します。
こちらのページの"接続手順 (RSA公開鍵認証を用いる場合)"の接続手順で接続ができるかを確認します。