TeraTermで公開鍵認証によるSSH接続する方法。
環境
- (クライアント)TeraTerm Version 4.90
- (サーバー)CentOS 6.4 ※OpenSSH 5.3
-
- TeraTermを起動して、メニューの「設定(S)」にある「SSH鍵作成(N)…」をクリックします。
- 「鍵の種類」を「RSA」に、「ビット数」を「2048」にして、生成ボタンをクリックします。ECDSAやED25519などの方がより強度の強い鍵が生成できますが、サーバー側のOpenSSHのバージョンによっては使用できないので、今回はRSAで生成しました。
- 「鍵を生成しました。」と表示された後にパスフレーズとコメントを設定して、公開鍵と秘密鍵を保存します。
※例:公開鍵は「id_rsa.pub」として保存、秘密鍵は「id_rsa」として保存。パスフレーズは空でも作成可能ですが、わざわざセキュリティを低下させる必要はないかと思います。
コメントは完全に任意ですが、複数端末でそれぞれ鍵認証する際などに識別できるように設定しておくと便利です。 - 公開鍵を接続先サーバーに登録します。
※デフォルトでは、「~/.ssh/authorized_keys」に公開鍵を登録します。
FTPSやSFTPなどで公開鍵ファイルをアップロードして、以下のコマンドで登録します。cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
※「~/.ssh」や「~/.ssh/authorized_keys」がない場合には、事前に作成しておきます。(authorized_keysは公開鍵登録時に作成しても可)
mkdir -m 700 ~/.ssh cd ~/.ssh touch authorized_keys chmod 600 authorized_key
s
※通常、SSHの設定(sshd_config)を変更する必要はないはずです。(デフォルトで公開鍵認証が許可されている)
もし、公開鍵認証でログインできない場合には、SSHの設定(sshd_config)を確認・編集します。vi /etc/ssh/sshd_config PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
後は、TeraTermでログインする際に、「ユーザー名」と「(秘密鍵の)パスフレーズ」を入力して、「RSA/DSA/ECDSA/ED25519鍵を使う」を選択(秘密鍵も指定)してログインします。
設定ミスなどログインできない場合も考えられますので、問題なくログインできることが確認できるまでは、公開鍵認証以外のSSH接続方法(パスワード認証など)を確保しておきましょう。