既知のSSHホストにホスト名またはIPの代わりにハッシュがあるのはなぜですか?

既知のSSHホストにホスト名またはIPの代わりにハッシュがあるのはなぜですか?

動的IPの後にホストがあるので、.ssh / known_hostsファイルにそのアドレスを追加するスクリプトを使用しましたが、最近何か変更されたようです。私のファイルがハッシュモンスターの攻撃を受けたようです。

|1|Du0QWjqCUrdRK/pnE0PTww2O2Zk=|O31W+SPPLr9+sj1m1K7MfEb+xUQ= ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILUT1234567Xu2vvCE1likgUSOXLzEV123456783asaA
|1|K3vgE86MLJTHx8W2sPv1cgP4DI0=|Jattsr5sEW443bnyMKT6W0Noc+k= ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILUT1234567Xu2vvCE1likgUSOXLzEV123456783asaA
|1|UlAukzqGavXZvRtMzjvXmHoVeAQ=|0JVjq7YSFulCHmkF46VFwMV/ZBY= ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILUT1234567Xu2vvCE1likgUSOXLzEV123456783asaA
  1. 安全性の低い以前の方法に戻る方法はありますか?
  2. このハッシュ形式でアイテムを簡単に作成するにはどうすればよいですか? (10.0.0.0/24の範囲内のすべてのIPが指定された指紋と一致する必要があることをsshに通知するスクリプトを作成したいと思います。)

ベストアンサー1

次のように、HashKnownHostsコマンドライン(ssh -o HashKnownHosts=no ...)またはユーザープロファイルでSSHクライアントオプションを「no」に設定して、ホスト名ハッシュを無効にできます。~/.ssh/config

Host *
  HashKnownHosts no

ホスト名を直接ハッシュする方法はわかりませんが、known_hostsファイルにハッシュされたものとハッシュ以外のものを混在させることで、スクリプトからハッシュ以外のものを作成できます。

ssh-keygen -Hを使用して、ファイル内のすべての項目をknown_hostsハッシュ形式に変換できます。

おすすめ記事