SSH 秘密鍵 公開鍵を作成して鍵認証

広告

puttyでsshアクセスしているが、パスワード認証から秘密鍵認証にしたい。

認証鍵を生成


認証鍵の生成


まずrootに切り替え。
# su -

認証鍵を生成コマンド実行。
# ssh-keygen -t rsa

以下、秘密鍵の保存場所を聞かれる。デフォでよければEnter。任意の場所を指定したかれば続けて入力する。
Enter file in which to save the key (/root/.ssh/id_rsa):

パスフレーズの設定。
ここでのパスフレーズを省略すると、パスフレーズを省略してログインできる。
そのままEnterでスキップもできるが、設定しておいたほうがセキュリティ的にはいいのでここでは設定していく。
入力した場合、以下のように確認用に二度同じパスを聞かれる。
Enter passphrase (empty for no passphrase):
Enter same passphrase again

認証鍵の確認


②のdirにid_rsa、id_rsa.pubという2つの鍵ファイルができる。
.pubのほうが公開鍵で、ついてないほうが秘密鍵となる。
# ls -l /root/.ssh
-rw------- 1 root root 1766 Sep 23 23:06 id_rsa
-rw-r--r-- 1 root root 416 Sep 23 23:06 id_rsa.pub

公開鍵を公開鍵認証で使用できるようにする


# mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
$chmod 600 ~/.ssh/authorized_keys


ログイン設定


公開鍵認証でログインできるようにsshd_configを変更


# vi /etc/ssh/sshd_config
PubkeyAuthenticationのコメントを外して保存。
PubkeyAuthentication yes

sshd_configの反映


# service sshd restar

id_rsaをローカルにダウンロード


winftp等を使用してリモートサーバからid_rsaをローカルの任意のdirにダウンロードしてください。

ppkの生成


id_rsaをputtyで使用できる「ppk」という形に変換します。
WinSCPを使用する際はこの形式の秘密鍵が必要です。
Tera Termなどのターミナルでも利用可能です。

ppk形式に変換


ppkという形に変換するには「puttygen」が必要です。
puttyをダウンロードしていれば、同梱されているはずです。
putty.exeと同列にputtygen.exeがあるので実行しましょう。



※自分の場合、インストールしたパッケージはApplicationに集約してます。

puttygenの操作


puttygenを実行すると以下のような画面が表示されます。
「読込」を押下してローカルにダウントードした秘密鍵(id_rsa)を指定しましょう。
もしid_rsaが表示されなければファイル選択画面で「全てのファイル(*.*)」を指定してあげればid_rsaが表示されます。


>
次に、パスフレーズを求められるので設定したパスフレーズを入力しましょう。 ※パスフレーズを設定している場合のみ






あとは秘密鍵を保存するだけ。



任意の名前で保存できますが、「id_rsa.ppk」としました。

puttyで接続


ここまできたらあとは生成したキーを使用してログインできるか確認するだけ!
赤線箇所をたどると、秘密鍵を使用した接続ができます。
ここではもちろんさきほど生成したppkファイルを指定します。



「開く」を押下でいつものコンソール画面に移り、秘密鍵を使用しての認証となるが、
パスフレーズを設定していれば、設定したパスフレーズの入力が求められ、
パスフレーズを設定していなければ、そのままログインできる。


以上!
広告

Profile