Как запретить 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.

Все хорошо и замечательно, за исключением того, что, как и многие люди, я поместил свои dotfiles под контроль версий. Файл known_hosts— это ссылка на файл в моем репозитории git. В конце концов, если я принял ключ хоста на своем десктопе, то я не хочу рисковать MITM, если подключусь к тому же хосту со своего ноутбука. В конце концов, в этом и есть весь смысл файла known_hosts.

Описанная выше процедура с использованием ssh не работает должным образом: после того, как я принимаю новый хост, он known_hosts.oldстановится ссылкой на мой файл с контролируемой версией, который никогда не обновляется.

Как мне сказать, sshпожалуйста, прекратить создание known_hosts.oldи просто редактировать known_hostsнапрямую? Мне в любом случае не нужен такой грубый метод резервного копирования - файл уже находится под контролем версий. Я просмотрел TFM, но не нашел такой опции.

решение1

Похоже, это жестко запрограммировано в исходном коде, поэтому один из вариантов — переписать его в соответствии со своими потребностями (не рекомендуется).

Связанный контент