SSH、公開鍵を使用してリモートPCにアクセスする。

ローカルPCからリモートPCに対してアクセスを行います。

まずはアクセスするユーザでローカルPCにログインし、公開鍵を生成します。

以下はRSA公開鍵を生成します。

# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 root@local-pc1

保存パス、パスフレーズを求められますが入力せずに Enter キーを押下します。


そうすると root で実行した場合には以下のパスにRSA公開鍵が生成されます。

# cd /root/.ssh/
# ls -l
-rw-------  1 root root  887  6月 24 13:25 id_rsa
-rw-r--r--  1 root root  229  6月 24 13:25 id_rsa.pub


生成された公開鍵(id_rsa.pub)をリモートPCに転送します。

# scp /root/.ssh/id_rsa.pub root@remote-pc1:/root/


次にリモートPCにアクセスされるユーザでログインし、公開鍵を生成します。

# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 root@remote-pc1


リモートPCで生成した id_rsa.pub を authorized_keys というファイルに書き換え、ローカルPCから転送された id_rsa.pub の内容を追記します。

# cd /root/.ssh/
# mv id_rsa.pub authorized_keys
# cat ../id_rsa.pub >> authorized_keys


以上でローカルPCからリモートPCへパスワードを使用せずにアクセスすることができます。

# ssh root@remote-pc1


リモートPCが root でのログインを許可していない場合は PermitRootLogin の値を without-password に変更する必要があります。

# vi /etc/ssh/sshd-config
・
・
#PermitRootLogin yes
#PermitRootLogin no
PermitRootLogin without-password
・
・