[Ubuntu] サーバーを再起動する度に、そのサーバにssh で接続しようとするとホストの公開鍵が変わったエラーメッセージが表示される

サーバーを再起動するたびに、そのサーバーへ ssh で接続しようとすると次のようなメッセージが出る場合です。
ssh接続元で保存していた接続先ホストの公開鍵と、サーバーの公開鍵が異なると出るエラーです。


@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


本記事の対象か確認


/var/log/syslog で、サーバー再起動時に次のような行があるかを確認します。
(XXXXは数字です)


cloud-init[XXXX]: Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub


ホストの公開鍵(/etc/ssh/下)をサーバー起動時に cloud-init が変えていることを示すログです。
このような行があれば、本記事で対処できます。


対処方法


cloud-init が再起動の度に、ホストの公開鍵(/etc/ssh/下)を更新するのが原因です。
cloud-init は、サーバーインストール後の初回起動時に、初期設定を行うためのモジュールのようです。

次回以降の起動では不要と判断し、cloud-init を無効にします。

/etc/cloud/cloud-init.disabled を作成します。
空ファイルでかまいません。


touch /etc/cloud/cloud-init.disabled


これで、次回から cloud-init が動作しないので、サーバー再起動のたびにホストの公開鍵が再作成されないようになります。
結果、クライアントからのssh接続で、接続先ホストの公開鍵が変わったために出るエラーメッセージも出なくなります。


参考


Raspberry Pi に Ubuntu を入れて SSH でログインするまでの A to B | Aqua Ware つぶやきブログ
OpenSSHのホスト鍵の確認方法(ssh-keygenが使えなくても何とか確認する) - Qiita

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント