updated on 2019-05-16
Amazon EC2でそれまではインスタンスに接続出来ていたのに、作業をしていると急に以下のエラーでSSHでインスタンスに接続出来なくなる現象が起きました。
ssh_exchange_identification: Connection closed by remote host
ネットを調べると/etc/hosts.allowの設定や/etc/ssh/sshd_configのMaxStartupsのパラメタに大きな値が設定されていない事が原因等の情報は載っていましたが、それでも解決せず・・・。
サーバーで原因を調べていたところ、何と/varディレクトリのパーミッションが問題でssh接続出来ない事が分かりました!
デフォルトでは以下のパーミション設定になっているのを「chmod -R 777 /var」などとやってしまい、パーミションに変更するとsshで接続出来なくなるようです(全ての人がsshできる設定にするともう接続不可になってしまう)。気を付けないといけませんね。
筆者は一度EC2インスタンスを作り直すハメになりました。
drwxr-xr-x 20 root root 4096 Aug 2 04:55 var