📖

SSHで「ホストキーが変わった」ときの対処法 REMOTE HOST IDENTIFICATION HAS CHANGED!

に公開

SSHで「ホストキーが変わった」ときの対処法

SSHでサーバーに接続しようとしたら、次のようなエラーメッセージが表示されることがあります。

ssh hogepiyo.com
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Host key verification failed.

ホストキーとは?

ホストキーは、SSHサーバーごとに設定されている「サーバーの身分証明書」のようなものです。
SSHクライアント(自分のPC)は、初めて接続したときにそのホストキーを保存して、「次回以降、同じサーバーかどうか」を確認します。
もしサーバーが再構築されたり、ホストキーが更新されると、前回と異なるキーが返ってきて警告が表示されます。

解決方法

ホストキーが変わった理由が分かっている場合(サーバー再構築など)は、以下のコマンドで古いホストキーを削除します。

ssh-keygen -R hogepiyo.com

これで古いホストキーが削除され、再接続が可能になります。
SSH接続時に「続行しますか?」と聞かれたら、yes で改めてホストキーを発行してもらえます

Discussion