[macOS General] SSH: 鍵作成とconfigによる複数ホストの管理
いつも忘れてしまうssh接続設定のメモ。
Contents
鍵の作成
RSA認証鍵を名前を指定して作成します。
$ ssh-keygen -t rsa -f sakura_rsa
この例では sakura_rsa と sakura_rsa.pub の2つができます。
ssh接続の設定
ssh接続の設定手順は「さくらのレンタルサーバでSSH公開鍵認証 | EzXNetwork」を参考にさせて頂きました。
公開鍵をサーバにscpする。
$ scp sakura_rsa.pub username@username.sakura.ne.jp:/home/username/.ssh/authorized_keys
username@username.sakura.ne.jp's password:
$ ssh username@username.sakura.ne.jp
username@username.sakura.ne.jp's password:パスワードを入力
Welcome to FreeBSD!
$ chmod 700 /home/username/.ssh
$ ls -al /home/username/
drwx------ 2 username users 512 May 30 17:16 .ssh
$ chmod 400 authorized_keys
$ ls -al
-r-------- 1 username users 415 May 30 18:06 authorized_keys
$ exit
以上でssh接続の設定は完了。
~/.ssh/config を設定する
~/.ssh/config
で鍵の管理ができるとのこと。
ssh で鍵やユーザ名を複数のホストで使い分けないといけない場合、それら設定を覚えておくのは面倒です。
それらホスト毎の設定は ~/.ssh/config で簡単に管理することができます。
(中略)
鍵、ユーザ名、ssh バージョンなどを使い分けなければならない場合にとても便利です。
また、svn, git, scp, sftp などでの利用でも反映されるため、オプションを覚える必要がなくなります。
例えば上記のsakuraの設定であれば、config内にこのような内容を書けば良さそうです。
Host username.sakura.ne.jp
UseKeychain yes
AddKeysToAgent yes
ForwardAgent yes
PreferredAuthentications publickey
Hostname username.sakura.ne.jp
User username
Port 22
IdentityFile ~/.ssh/sakura_rsa
ssh接続は ~/.ssh/config の Host で指定した名前を使用します。
$ ssh username.sakura.ne.jp
補遺
ssh config
ssh agent
AddKeysToAgent, UseKeychain