WindowsクライアントからTera Term 等を使って、LinuxサーバにSSHログインする際に、RSA(Version2)鍵認証を用いる方法を記載します。
1.ssh-keygen コマンドで、鍵生成
まず、Linuxサーバで鍵を生成します。
SSH Version2 の RSA鍵を生成する際の実行コマンドは以下になります。
$ ssh-keygen -t rsa
実行結果は以下のようになります。
$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/user1/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/user1/.ssh/id_rsa. Your public key has been saved in /home/user1/.ssh/id_rsa.pub. The key fingerprint is: (省略) The key's randomart image is: +--[ RSA 2048]----+ | (省略) | +-----------------+ $
実行の結果「id_rsa」(秘密鍵)と「id_rsa.pub」(公開鍵)の2ファイルが作成されます。
2.authorized_keys に公開鍵を登録
「id_rsa.pub」(公開鍵)を、authorized_keys に登録します。
$ cat id_rsa.pub >> authrized_keys $ chmod 600 authrized_keys
3.秘密鍵をクライアントへ
「id_rsa」(秘密鍵)を、WinSCP等を使ってWindowsクライアントへ持っていきます。名前は好きなように変更します。
4.sshd_config を変更
sshサーバ設定ファイル(/etc/ssh/sshd_config)を以下のように変更します。
#以下を有効化 RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
変更を反映するために、sshdを再起動します。
# /etc/init.d/sshd restart
以上の作業が終わったら、WindowsクライアントからTera Term 等から「id_rsa」(秘密鍵)を用いて、Linuxサーバにログインできるようになります。