秘密鍵を用いてサーバにSSH接続する方法(クライアントOSとしてWindowsを使用している方向け)
Windowsユーザ向けに秘密鍵を用いてサーバにログインする方法を紹介します。
(SS撮り直すのが面倒だったので、自身の別ブログの別記事で利用した画像を流用しています。現在のバージョンと画面が違ったらごめんなさい。)
秘密鍵及び公開鍵のペアの作成
Puttyのウェブサイトからputtygen.exe をダウンロードして起動します。
起動できたら、Generateをクリック。
乱数生成のためにバーが満たされるまでマウスを画面上で適当に動かすと以下のような画面になります。
KeyPassphraseを入力する事で、認証時にパスフレーズが必要となり、秘密鍵を盗まれてしまった場合の対策になります。
といっても、SSH鍵を盗まれている=ローカルでのパスフレーズの解析が可能という事なので、ある程度の長さに設定しないとあまり意味は無いです。
設定するか否かは好みで良いと思います。
SavePublicKeyと、SaveSecretKeyをそれぞれクリックして公開鍵・秘密鍵をそれぞれ保存します。
サーバ側の設定
サーバに公開鍵認証したいユーザでログインして、以下のコマンドを実行し、ホームディレクトリに.sshディレクトリを作成します。
mkdir ~/.ssh
以下のコマンドを実行し、~/.sshディレクトリのパーミッションの変更を行います。
chmod 700 ~/.ssh
ファイル ~/.ssh/authorized_keys を作成し、Puttyで生成した公開鍵を貼り付けます。
以下のコマンドを実行し、公開鍵のパーミッションの変更を行います。
chmod 600 .ssh/authorized_keys
Puttyの設定
Puttyを起動し、Connection→SSH→Authと進むと、private key file for authentication という項目があるのでBrowseを押してさっき生成した秘密鍵の場所を指定します。
Sessionに戻り、HostNameに接続先を指定し、Openボタンをクリックする事で秘密鍵での認証が可能です。
が、このままではログインのたびに秘密鍵の場所を指定する必要がありとても面倒なので、Openを押す前にSavedSessionsの下のテキストエリアに任意の設定名を入力し、Saveボタンを押しておきます。
次回から設定した設定名をクリックし、Loadボタンを押すことで今回設定した内容を呼び出すことが可能です。