ssh -p yyyy root@xxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Offending ECDSA key in /home/debian8/.ssh/known_hosts:28
remove with: ssh-keygen -f "/home/user/.ssh/known_hosts" -R [xxxx]:yyyy
ECDSA host key for [xxxxxxxx]:yyyy has changed and you have requested strict checking.
Host key verification failed.
警告に従ってください。
$ ssh-keygen -f "/home/user/.ssh/known_hosts" -R [xxxx]:yyyy
/home/user/.ssh/known_hosts is not a valid known_hosts file.
Not replacing existing known_hosts file because of errors
今どのようなコマンドを実行する必要がありますか?
答え1
キーだけが正しくないと判断して削除を選択した場合。
代替ソリューションのリスト:
1.- 推奨コマンドを実行します。
実行するコマンドはエラーメッセージにあります。
$ ssh-keygen -f "/home/user/.ssh/known_hosts" -R [xxxx]:yyyy
変える
xxxx
SSHへの接続に使用されるホスト名またはIPyyyy
ポート番号別(非標準の場合)
これにより、失敗したキーが削除され、再接続され、ファイルから新しいキーがインポートされます。
2.- ファイルライン 28 削除
エラーには、失敗した行が次のように指定されています。
Offending ECDSA key in /home/debian8/.ssh/known_hosts:28
テキストエディタまたは次のコマンドを使用して行番号28を削除できます。
sed -i '28d' "/home/user/.ssh/known_hosts"
その後、再接続して正しいキーを入手してください。
3.- ファイルを移動します。
ファイルをバックアップに移動する(将来の参照/使用/抽出キー用)
mv /home/user/.ssh/known_hosts /home/user/.ssh/known_hosts_backup
各新しいホストに接続するときに、sshにファイルを書き換えます。
4.- ファイル全体の削除
他のすべての方法が失敗した場合は、ファイル全体を削除してください。
rm "/home/user/.ssh/known_hosts"
再接続された新しいホストごとに再構築されます。
答え2
"/home/user/.ssh/known_hostsは有効なknown_hostsファイルではありません。"というエラーメッセージが問題を示しています。 ssh-keygen
ファイルが破損して解析できません。手動編集が間違っている可能性があります。
最近のバックアップがない場合の最も簡単な回避策は、破損したバックアップを片側known_hosts
に移動してssh
新しいバックアップを作成することです。以前に受け入れたリモートホストのキーを再度受け入れる必要があります。
$ mv /home/user/.ssh/known_hosts /home/user/.ssh/known_hosts.old
答え3
ホスト名ハッシュを使用していますか?そうでない場合は、テキストエディタを使用して/home/user/.ssh/known_hosts
ホスト名で始まる一致する行を削除できます。次のようになります。
hostname-or-ip ecdsa-sha2-nistp256 AAAA...
(他の興味のある読者のためにecdsa
- ビットもあるかもしれませんが、ssh-rsa
ここではECDSAキーについて明示的に文句を言います。)
答え4
SSH警告は、リモートホストxxxxxxxxxの公開鍵が変更されたことを意味します。これは、リモートホストの管理者が公開鍵を変更したか、侵入者がコンピュータとリモートホスト間で中間者攻撃を行ったためです。
前者に該当する場合は、.ssh/known_hosts
ファイルを編集し、リモートホスト名で始まる行を削除して、キャッシュされた無効なキーを削除してください。