OpenSSH が更新されるたびに新しい known_hosts ファイルが作成されないようにするにはどうすればよいですか?

OpenSSH が更新されるたびに新しい known_hosts ファイルが作成されないようにするにはどうすればよいですか?

新しいホスト キーを受け入れるたびに、ssh (8.6p1 と 9.3p2 でテスト済み) は次の手順を実行するようです。

  • known_hostsファイルを次の場所に移動しますknown_hosts.old
  • 新しいknown_hostsファイルを作成します。
  • known_hosts.oldの内容を にコピーしますknown_hosts
  • 新しいエントリを新しい に追加しますknown_hosts

すべて順調ですが、多くの人と同じように、私はドットファイルをバージョン管理下に置きました。このknown_hostsファイルは、git リポジトリ内のファイルへのリンクです。結局のところ、デスクトップでホスト キーを受け入れた場合、ラップトップから同じホストに接続する際に MITM のリスクを負いたくはありません。結局のところ、これが known_hosts ファイルの重要な点です。

上記の手順を ssh で実行すると、うまく動作しません。新しいホストを受け入れると、known_hosts.oldバージョン管理されたファイルへのリンクが作成され、更新されなくなります。

ssh作成をやめてknown_hosts.old直接編集するように指示するにはどうすればいいでしょうかknown_hosts? とにかく、このような大まかなバックアップ方法は必要ありません。ファイルはすでにバージョン管理されています。TFM を詳しく調べましたが、そのようなオプションは見つかりませんでした。

答え1

ソース コードにハードコードされているようなので、ニーズに合わせて書き直すのも 1 つの方法です (推奨されません)。

関連情報