今回は、先日書籍(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を利用した自動処理も問題ないはずです。