今回は、先日書籍(Amazon Web Servicesクラウドデザインパターン設計ガイド)の発売も発表された
Cloud Design Pattern(CDP)の記事になります。
対象は「Scale Outパターン」です。

このパターンの「注意点」に下記のような記載があります。

新たに起動したEC2に最初にSSH接続する場合、ログイン時にホストの
認証のためにフィンガープリントの確認が対話的に行われる場合があり、
その場合、外部からのSSHを利用した自動処理などが機能しなくなってしまう。

対話的なフィンガープリントの確認は下記のようなものになります。

$ ssh -i suz-lab_ap-northeast-1.pem -l root xxx.xxx.xxx.xxx
The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)?

上記が発生しないようにするためには、SSHでの接続元サーバの.ssh/configを下記のように記載することで対応できます。

Host *
StrictHostKeyChecking no
UserKnownHostsFile /dev/null

StrictHostKeyChecking noは実際にフィンガープリントの確認を行わないようにする設定で、UserKnownHostsFile /dev/nullは.ssh/known_hostsにホストを登録しない設定になります。

これで、Auto Scaling等で新規に作成されたEC2に対してのSSHを利用した自動処理も問題ないはずです。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら