#パスワードなしでssh接続したい!
よくあるネタなのですが、備忘録として
##1.クライアント側でキーを作成
3回ほど、入力を求められますが、入力せずEnterで進めます。
やんごとなき事情で、一部、加工しています。
pi@raspberry:~ $ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/pi/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/pi/.ssh/id_rsa.
Your public key has been saved in /home/pi/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx pi@raspberry
The key's randomart image is:
+---[RSA 2048]----+
| |
| |
| |
| |
| |
| |
| |
| |
| |
+-----------------+
pi@raspberry:~ $
##2.クライアント側でキーの確認
pi@raspberry00:~ $ cd .ssh
pi@raspberry00:~/.ssh $ ls -al
drwxr-xr-x 2 pi pi 4096 Sep 6 02:41 .
drwxr-xr-x 8 pi pi 4096 Sep 4 12:55 ..
-rw------- 1 pi pi 1679 Sep 6 02:41 id_rsa
-rw-r--r-- 1 pi pi 397 Sep 6 02:41 id_rsa.pub
id_rsa.pubができていればOK
##3.サーバー側にキーを配置します
サーバー側での準備
もし、ディレクトリ/home/pi/.sshがなければ作成
pi@raspberry:~ $ mkdir .ssh
pi@raspberry:~ $ chmod 700 .ssh
pi@raspberry:~ $ cd .ssh
pi@raspberry:~ $ touch authorized_keys
pi@raspberry:~ $ chmod 600 authorized_keys
で、authorized_keysを開いてクライアント側で作成したキーid_rsa.pubの内容を入力します(ウソ)
でも良いのですが、間違えるので切り貼りします(面倒)
なのでコピーします。
クライアント側のIPアドレスが、172.16.1.100
サーバー側のIPアドレスが、172.16.1.101
とします。
ちなみに、サーバー側にはauthorized_keysがないか、空の場合を想定しています。既にサーバー側のauthorized_keysに有効なキーの情報が記述されている場合は、次の方法では上書きされるので登録済の情報はなくなります。サーバー側に違うファイル名でコピーして混ぜ混ぜしてください。
pi@raspberry:~ $ scp pi@172.17.1.100:/home/pi/.ssh/id_rsa.pub pi@172.17.1.101:/home/pi/.ssh/authorized_keys
ついでにクライアント側にもコピーしておくと、ddで複製したときにコピーの手間が省けてちょっとらくちんです。
##4.セキュリティ向上
必要に応じて、sshのポート番号(デフォルトでは22)、rootでの接続拒否などの設定をしたい場合は、/etc/ssh/sshd_configを適宜編集してください。
##参考にさせていただいたのはコチラ
俺的備忘録 〜なんかいろいろ〜
https://orebibou.com/2015/01/%E3%82%BF%E3%83%BC%E3%83%9F%E3%83%8A%E3%83%AB%E3%81%8B%E3%82%89%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E5%85%A5%E5%8A%9B%E7%84%A1%E3%81%97%E3%81%A7ssh%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B3/