CentOS 公開鍵認証によるSSH接続~TeraTerm~
TeraTermを使った公開鍵生成から認証によるSSH接続までの設定方法です。
(CentOS6, CentOS7 共にSSH接続の方法は基本的に同じです。)
公開鍵と秘密鍵の生成
TeraTermを起動します。
「キャンセル」をクリックして、「新しい接続」を閉じます。
今回は、鍵の種類「RSA」、ビット数「2048」で生成します。
「RSA」、「2048」をそれぞれ選択して、「生成」をクリックします。
「鍵のパスフレーズ」に任意のものを入力し、「パスフレーズの確認」に同じものを入力します。
(パスフレーズは空でもOKです。)
「公開鍵の保存」をクリックして、公開鍵を任意のフォルダに保存します。
次に、「秘密鍵の保存」をクリックして、公開鍵を任意のフォルダに保存します。
以上で、開鍵と秘密鍵の生成は完了です。
公開鍵を接続先のSSHサーバーに設置
生成した公開鍵をTeraTermのscpを使って接続先のSSHサーバーに設置します。
TeraTermを起動し、[ファイル]ー[新しい接続]を選択します。
「ホスト」に接続先のIPアドレスまたはホスト名を入力し、「SSH」を選択して「OK」をクリックします。
ここではパスワード接続をします。
「ユーザー名」と「パスワード」を入力し、「プレインテキストを使う」を選択して「OK」をクリックします。
作成して保存してある公開鍵ファイル(id_rsa.pub)をTeraTermの画面にドラッグアンドドロップします。
ドラッグアンドドロップすると以下の画面が表示されるので「spc」をクリックして公開鍵を転送します。
転送先は接続先サーバーのホームディレクトリーです。
コマンド操作で公開鍵(id_rsa.pub)を移動させ、名前(~/.ssh/authorized_keys)を変更させます。
公開鍵認証を設定しようとしているユーザーのホームディレクトリに移動してから操作を行います。
$ cd ~ $ pwd /home/user $ ls id_rsa.pub $ mkdir .ssh $ chmod 700 .ssh $ mv id_rsa.pub .ssh/authorized_keys $ chmod 600 .ssh/authorized_keys |
以上で、公開鍵の設置は完了です。
公開鍵認証を使ってSSH接続
公開鍵認証によるSSH接続を行います。
TeraTermを起動します。
「ホスト」に接続先のIPアドレスまたはホスト名を入力し、「SSH」を選択して「OK」をクリックします。
「RSA/DSA/ECDSA/ED25519鍵を使う」を選択し、接続する「ユーザー名」、鍵を生成したときに入力した「パスフレーズ」を入力します。
次に「秘密鍵」をクリックして、保存した秘密鍵(id_rsa)を選択して「OK」をクリックします。
以下の画面が表示されれば、公開鍵によるSSH接続は完了です。
補足
※公開鍵認証によるSSH接続が確認出来たら、パスワードによる認証を禁止にすることで、セキュリティを高めることができます。
$ vi /etc/ssh/sshd_config |
「PasswordAuthentication yes」(66行目)で「yes」→「no」に変更するとパスワード認証を禁止することができます。
以上で、公開鍵認証によるSSH接続は完了です。