兄弟のように同じような設定でログインするサーバーが複数台あるとする。 Host *.myproj.example.com
でまとめて設定できるものの、 ssh コマンドでホスト名を指定するのが面倒だ。
その場合、Host と hostname で短いエイリアスを作ることができるが、そうすると Host *.myproj.example.com
の設定は適用されなくなる。 Host がマッチングするのは本当のホスト名ではなく、コマンドで指定されたエイリアスの方だからだ。
Host エイリアスのパターン
でもいけるが、今度はエイリアスじゃないホスト名でログインする場合に設定が適用されなくなる。 Match host
を使うと本当のホスト名でマッチできるので、 Host より使いやすい。
# エイリアスの設定 Host isu1 hostname isu1.myproj.example.com Host isu2 hostname isu2.myproj.example.com Host isu3 hostname isu3.myproj.example.com # エイリアスに効かない Host *.myproj.example.com User ubuntu # エイリアスを使った時しか効かない Host isu? User ubuntu # エイリアスと本当のホスト名どっちを ssh に指定しても効くように両方のパターンを書く Host isu? *.myproj.example.com User ubuntu # Match host を使えば本当のホスト名のパターンを書くだけでエイリアスにも効く Match host *.myproj.example.com User ubuntu