昨日久しぶりにSSH鍵交換方式による設定を行ったので作業メモ
SSH鍵交換方式はパスワードログインと違い秘密鍵とパスフレーズ併用でログインする。その為秘密鍵がなければそもそもパスワードを試す画面にすらたどり着けないので、外部に公開するサーバーであれば必須のセキュリティ対策となるであろう。
作業の大まかな流れとしては
-
クライアント側で秘密鍵と公開鍵の生成
-
公開鍵のみログインしたいサーバーの/home/公開鍵ログインさせるユーザー名/.ssh/authorized_keysに追加する。
-
秘密鍵を用いてログイン
秘密鍵の生成にはputtyシリーズのputtygen.exeを利用する。鍵の種類はデフォルトでOKだが、暗号化ビットは1024以上でもよい。
マウスを動かすと乱数が生成され、その乱数をもとに画面に出ている公開鍵を/home/公開鍵ログインさせるユーザー名/.ssh/authorized_keysに一行でコピー(途中に改行が入らぬように!)
authorized_keysのパーミッションを600にする(これをしないと無効)
秘密鍵をローカルに保存した後、puttyの設定→接続→SSH→認証メニューまで辿り
「認証のための使うプライベートキーファイル」に先ほどの秘密鍵を指定する。
うまくログインできたら、パスワード認証は一切無効にしてしまおう。
実はあまりに久々すぎて公開鍵をauthorized_keysではなく、knowns_hostに追加していてうまくいかないと30分ほど頭をひねっていたことは内緒である。