🙆

DRYなssh_configを書く

2024/10/09に公開

冗長な表現はなるだけ避けていきたいものです。DRY(Don't Repeat Yourself)。今回はSSHの設定ファイルの話。

host webserver1
    hostname 192.168.0.1
    user web

host webserver2
    hostname 192.168.0.2
    user web

host webserver3
    hostname 192.168.0.3
    user web

というような.ssh/configがあった場合、

host webserver1
    hostname 192.168.0.1

host webserver2
    hostname 192.168.0.2

host webserver3
    hostname 192.168.0.3

host webserver*
    user web

こう書くことで、特定のパラメーター(上記の例ではuser web)を一箇所にまとめることができて便利。

ちなみに、-F Noneオプションをつけてsshを実行すると、ssh_configファイルを無視してコマンドを実行することができます。

参考

各設定項目で最初に見つかった値が使われるので、ホストに特化した宣言をファイルの先頭近くに置くようにし、一般的なものを後に置くのがよいでしょう。
ssh_config(5) manページ

Discussion