ssh
Debian がインストールされている Linux システムからサーバーにアクセスしようとすると、次のメッセージが表示されます。
Host key verification failed.
私がオンラインで見つけた唯一の助けはキーを削除することでした~/.ssh/known_hosts
。まあ、そうしただけでなく、~/.ssh
確認するためにキー全体を削除しましたが、それも役に立たず、まだHost key verification failed.
エラーがあります。
答え1
わかりました、答えました。
ssh
オプションを実行すると、-v
実際のエラーが表示されます。
これは誤ってアクセス権(何でも)を誤って設定したために/dev/tty
発生し、sshは何らかの理由でそれを好まない。sudo chmod 666 /dev/tty
解決したようです。
答え2
これで元のポスターの問題を解決しました。ただし、他の人が検索でこの問題を発見し、その症状が同じ原因で発生しない場合:
問題のある行を削除~/.ssh/known_hosts
または削除すると、キャッシュされたホストキーが消去されます。ただし、ホストキーには、特に要求しない限り、キャッシュされないシステム全体のキャッシュもあります/etc/ssh/ssh_known_hosts
。ただし、ホストキーの確認に問題がある場合は、これら2つのファイルを見てください。
答え3
この問題は、特に複数のSSH実装が接続されているWindowsを処理するときにさまざまな方法で発生する可能性があります。
Cygwin で SSH サーバーを実行している Windows 10 システムに SSH で接続するときにこの問題が発生しました。このプロンプトで実行すると、ssh
~/.ssh を使用して ssh ファイルを cygwin(/home/username) に保存する cygwin バージョンの ssh が実行されます。
ただし、git
同じプロンプトで実行し、GitがWindows経由でインストールされている場合(私の場合)、C:\ Users \ username.sshにあるsshファイルを使用します。
通常、キャッシュされたgitのホストキーを実行しますssh hostname
が、この場合は既知の_hostsファイルが異なるため動作しません。
ある Known_hosts ファイルから別のファイルにキーをコピーすると、git
コマンドは正常に動作します。