.ssh/config でホスト名のワイルドカードを使用する

AWSのEC2を検証用に使うようになってきた。
Elastic IPで固定IPを振るほどでもないので、インスタンスを立ち上げるたびにIPつまりpublic DNSがころころ変わる。

設定をするのにSSHでログインするんだけど、SSHのデフォルトのポートを22にしてないのでコマンド打つときに毎回-p 22と打ったり、ユーザ名にec2-userと打つのがめんどくさくなってきた。

ssh -p 22 ec2-user@ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com

.ssh/configでワイルドカードが使えればな〜と思って調べたら、使えることがわかった。

.ssh/configの最初の方に次のような記述を追加しておいた。

Host *.compute.amazonaws.com
    User ec2-user
    Port 22

これでssh + public DSNを打つだけで新しいインスタンスにログインできるようになった。

ssh ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com

.ssh/configをよく見たら最後の方に

Host 172.16.*
    Port 22

とか書いてあった。

どうやらワイルドカード使えることを忘れていただけらしい・・・

SSH_CONFIG (5)