【エラー】Add correct host key in .ssh/known_hosts to get rid of this message.

環境

OS: macOS Catalina バージョン 10.15.4

エラー発生

さくらの VPS で OS をインストールしなおした後、ssh で接続しようとしたら下記の警告が表示され接続できない状態になりました。

% ssh ubuntu@xx1-234-56789.vs.sakura.ne.jp  
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
QWE123:QWertYU1234567asDfghJklzXCvbNm.
Please contact your system administrator.
Add correct host key in /Users/ユーザー名/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/ユーザー名/.ssh/known_hosts:2
ECDSA host key for xx1-234-56789.vs.sakura.ne.jp has changed and you have requested strict checking.
Host key verification failed.
%

要件

「Add correct host key in /Users/ユーザー名/.ssh/known_hosts to get rid of this message.」

日本語訳

「このメッセージを非表示にするために /Users/ユーザー名/.ssh/known_hosts に正しいキーを追加してください。」

解決方法

ローカル環境の「.ssh」ディレクトリ(?)へ cd で移動します。

 /Users % cd ユーザー名
% cd .ssh

「.ssh」内でコマンド「ssh-keygen -R サーバーのIPアドレス」を実行します。

 .ssh % ssh-keygen -R 123.456.78.90
# Host 133.125.39.81 found: line 2
/Users/ユーザー名/.ssh/known_hosts updated.
Original contents retained as /Users/ユーザー名/.ssh/known_hosts.old
 .ssh %

更新された模様。ssh で接続できる様になりました。

% ssh ubuntu@xx1-234-56789.vs.sakura.ne.jp  
The authenticity of host 'xx1-234-56789.vs.sakura.ne.jp (123.456.78.90)' can't be established.
ECDSA key fingerprint is ABC123:QWERTYUIOPASDFGHJKLZXCVBNM.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'xx1-234-56789.vs.sakura.ne.jp,123.456.78.90' (ECDSA) to the list of known hosts.
ubuntu@xx1-234-56789.vs.sakura.ne.jp's password: 
Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-52-generic x86_64)

【ターミナル】さくらのレンタルサーバーにSSHでログインする方法

アカウント名、初期ドメイン、パスワードを確認

まずログインに必要な情報を確認しておきます。

  • アカウント名
  • 初期ドメイン
  • パスワード

アカウント名と初期ドメインはさくらレンタルサーバのコントロールパネルでも確認できます。

ターミナルを起動する

ターミナルを起動し、「ssh アカウント名@初期ドメイン」の形式で入力します。

例えば、アカウント名が「abcabc」、初期ドメインが「abcabc.sakura.ne.jp」だった場合、「ssh abcabc@abcabc.sakura.ne.jp」となります。入力して Enter。

% ssh abcabc@abcabc.sakura.ne.jp

初回は下記のようなメッセージが表示され、yes か no を求められますが、yes と入力して Enter で大丈夫です。

The authenticity of host 'アカウント名.sakura.ne.jp (XXX.XX.XXX.XX)' can't be established. ECDSA key fingerprint is XXXXXX:XxXXXxxXX+XXXXXXXXxxxxxxXXxXxxxxXXxXXXX. Are you sure you want to continue connecting (yes/no/[fingerprint])?

yes そして Enterすると下記のメッセージが表示され、続けてパスワードを求められます。

Warning: Permanently added 'アカウント名.sakura.ne.jp,XXX.XX.XXX.XX' (ECDSA) to the list of known hosts.

パスワード入力

下記の様にパスワードを求められるので入力します。(タイプしても表示されないので注意)

abcabc@abcabc.sakura.ne.jp's password: 

ログイン完了

FreeBSD 9.1-RELEASE-p24 (SAKURA17) #0: Thu Feb  5 10:03:29 JST 2015 

Welcome to FreeBSD!

%

上記の様に「%」が表示されたら無事ログイン完了です。