既知のホストファイルにフィンガープリントを追加せずにSSHフィンガープリントを確認して接続する方法

既知のホストファイルにフィンガープリントを追加せずにSSHフィンガープリントを確認して接続する方法

SSH経由でリモートコンピュータに接続しようとしているとします。

$ ssh [email protected]
The authenticity of host 'example.com (<IP address>)' can't be established.
ECDSA key fingerprint is <key fingeprint>.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

表示された指紋が実際に正しいことを確認し、接続し続けます。入るとはいプロンプトから接続し続けますが、SSHはに指紋を追加します~/.ssh/known_hosts。 SSHがKnown_hostsファイルに自動的に指紋を追加したくありません。次のように入力すると、SSHがKnown_hostsファイルに自動的に指紋を追加するのを停止する方法はありますか?はい?次回同じホストに接続しようとすると、同じメッセージが表示されることが予想されます。

ホストキーの指紋を確認したいので、それを見つけるのではありませんssh -o StrictHostKeyChecking=no ...(つまり、表示したいプロンプトを表示したい)。

答え1

このオプションを使用して、既知のホストファイルのエントリをブラックホールできます。

ssh -o UserKnownHostsFile=/dev/null [email protected]

関連情報