~/.ssh/config で簡単に複数ホストへのSSH接続を管理する
ssh で鍵やユーザ名を複数のホストで使い分けないといけない場合、それら設定を覚えておくのは面倒です。
それらホスト毎の設定は ~/.ssh/config で簡単に管理することができます。
複数の鍵を管理する場合
identity, id_rsa などのファイル名で保存しますが、これでは複数の鍵を置くことができないので、
test.org の場合、「id_rsa.test.org」
hoge.in の場合、「id_rsa.hoge.in」
など、ホスト名や用途名の prefix, suffix を付けて管理しています。
どの鍵をどのような用途で利用しているのかが分かればファイル名は何でも構いません。
~/.ssh/configを記述する
Host test.org HostName test.org IdentityFile ~/.ssh/id_rsa.test.org User test_user Host hoge.in HostName hoge.in Port 22222 IdentityFile ~/.ssh/identity User hoge_use Protocol 1
- Host
これ以後の (次の Host キーワードが現れるまでの) 項目を、一つの設定とします。
- HostName
実際にログインするホスト名を指定します。
- Port
ポート番号を指定します。
- IdentityFile
そのホストで使用する秘密鍵を指定します。
- User
ユーザ名を指定します。
- Protocol
利用する ssh バージョンを指定します (1, 2)
ssh 接続する
~/.ssh/config の Host で指定した名前を使用します。
$ ssh test.org
鍵、ユーザ名、ssh バージョンなどを使い分けなければならない場合にとても便利です。
また、svn, git, scp, sftp などでの利用でも反映されるため、オプションを覚える必要がなくなります。
参考
SSH_CONFIG (5)
続・$HOME/.ssh/configを活用していますか?(多段ログインなど)