CentOS6 64bit版 VPSセットアップ ③公開鍵認証方式

サーバに公開鍵、クライアントに秘密鍵を配置する。
設定後は秘密鍵を持っているクライアントPCからでしか、サーバにログインできなくなる。
外出先で設定を弄るときは、秘密鍵を外部記憶メモリやオンラインストレージに保管しておくなど、嵌らないように注意。

公開鍵・秘密鍵はペアで作成する必要がある。サーバでもクライアントでも作成できるが、本記事ではクライアント(tera term)での作成方法を解説する。

Tera Termで公開鍵、秘密鍵を生成

①管理者ユーザでログイン

②TeraTermのメニューバーより、「設定」⇒「SSH鍵作成」を選択。

③鍵の種類を「RSA」、ビット数を「2048」にして「生成」。
鍵のパスフレーズを入力。なお、パスフレーズは入れなくても生成できる。
入力した場合は、後でログインする時に聞かれることになる。
sshkeygen

④上記画面より、「公開鍵の保存」「秘密鍵の保存」で任意の場所に鍵を保存。

⑦「閉じる」をクリックして抜ける。

公開鍵をサーバにアップロード。サーバの設定

①公開鍵(id_rsa.pub)をtera termにドラッグ&ドロップし、scp転送でアップロード。
(tera termの標準機能で、winscpなど使わなくてOK)

②正常にアップロードされたことを確認する。

ls -al

id_rsa_pub

③公開鍵をサーバへ登録する。

cd
mkdir .ssh
chmod 700 .ssh
cat id_rsa.pub > .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
rm -f id_rsa.pub

ユーザのホームディレクトリに移動し、公開鍵(id_rsa.pub)の中身を、.ssh配下のauthorized_keysに書き込む。
書き込みが終われば、アップロードした公開鍵は削除し、authorized_keysの権限を変更。

④sshd_configの編集をする。
rootに切替わり、sshd_configの編集。

su –
vi /etc/ssh/sshd_config

以下個所を変更する。

コメント解除。公開鍵認証を許可。

#PubkeyAuthentication yes

PubkeyAuthentication yes

コメント解除。公開鍵の場所設定。

#AuthorizedKeysFile .ssh/authorized_keys

AuthorizedKeysFile .ssh/authorized_keys

コメント解除しnoに書き換え。パスワード認証(ログイン)の禁止。

#PasswordAuthentication yes

PasswordAuthentication no

チャレンジレスポンス認証を許可していないことを確認。

ChallengeResponseAuthentication no

⑤sshdデーモンをリロードして、設定ファイルの変更を反映。

/etc/rc.d/init.d/sshd reload

公開鍵認証でログイン

①TeraTermを別ウィンドウで起動する。
※上記sshdリロード後にログアウトしてすまうと、公開鍵生成に失敗していた場合、
 再インストールする必要がでてくる。公開鍵認証でのログイン確認までは絶対にログアウトしないこと。

②「RSA/DSA鍵を使う」にチェックをつけて、任意の場所に保存した秘密鍵「id_rsa」を選択。

③「パスフレーズ」に、公開鍵・秘密鍵生成時に入力したパスワードを入力。
※パスワードを空欄で公開鍵・秘密鍵を生成した場合は、パスフレーズは空欄でよい。
 ユーザのパスワードではなく、鍵生成時のパスフレーズであることに注意。

④OKをクリックし、ログインできたことを確認。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク