~/.ssh/config で簡単に ssh ログインする

毎回 長い ssh コマンドを打つのは面倒なので、config ファイルで簡単に管理したいと思います。 ~/.ssh/config に設定を記入していきます。

ssh ホスト名 だけでログインしたい

Host myserver
     User     user1
     HostName address1

config ファイルを上のように書いておくと、

$ ssh myserver

というコマンドで ssh <user1>@<address1> と同様の動作になります。

ポートフォワーディング

Host myserver
     User user1
     HostName address1
     LocalForward port1 address2:port2

これで ssh user1@address1 -L port1:address2:port2 と同様の動作になります。

LocalForward については man page ssh_config section 5ポートフォワーディング - Qiita を参照。

多段 ssh

myserver1 を経由して myserver2 に直接ログインしたいとき、下のように書くことができます。

ProxyCommand についてググったところ -WC のようにオプションが2つ一緒についている場合が あったのですが、-C は圧縮オプションで、必須ではないようです。

ssh-agent を利用しているなら、ターミナルで ssh -A と打つかわりに ForwardAgent yes と書きます。

Host myserver1
     User user1
     HostName address1
     ForwardAgent yes
     
Host myserver2
     User user2
     HostName address2
     ProxyCommand ssh -W %h:%p myserver1
     ForwardAgent yes

多段 ssh については、多段ssh設定のまとめ多段SSHやポートフォワーディングを &#39;.ssh/config&#39; に書く - Qiita を参照。