1. ホーム
  2. ssh

[解決済み] sshです。ホスト 'ホスト名' の真正性を確立できません。

2022-01-30 14:38:29

質問

マシンにsshでアクセスすると、時々このようなエラー警告が表示され、「はい」か「いいえ」かの選択を迫られることがあります。これは、他のマシンに自動的にsshするスクリプトから実行するときに、いくつかのトラブルの原因となります。

警告メッセージ

The authenticity of host '<host>' can't be established.
ECDSA key fingerprint is    SHA256:TER0dEslggzS/BROmiE/s70WqcYy6bk52fs+MLTIptM.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'pc' (ECDSA) to the list of known hosts.

自動的に"yes"と表示したり、無視する方法はありますか?

どのように解決するのですか?

ssh クライアントによっては、コマンドラインで StrictHostKeyChecking オプションを no に設定したり、null の known_hosts ファイルに鍵を送信したりすることができます。また、これらのオプションは、設定ファイル内で、すべてのホストに対して、あるいは指定された IP アドレスやホスト名に対して設定することができます。

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no

EDIT

IanDunn が指摘するように、この方法にはセキュリティ上のリスクがあります。接続先のリソースが攻撃者によって詐称されている場合、攻撃者は接続先サーバーのチャレンジを再生してあなたに返し、あなたがリモートリソースに接続しているように見せかけ、実際にはあなたの認証情報によってそのリソースに接続している可能性があります。 HostKeyCheckingをスキップするように接続メカニズムを変更する前に、それが適切なリスクであるかどうかを慎重に検討する必要があります。

参照 .