Как добавить известный хост SSH в известный файл хоста в Windows?

known_hosts файл выглядит не тривиально. В Windows я вижу, что он содержит имя хоста, IP-адрес и некоторый ключ RSA.

В Linux я вижу, что он содержит несколько ключей, разделенных баром.

Кто управляет этим файлом в Windows? Как добавить хост в качестве "известного" в этот файл в Windows?

Может ли Putty сделать это? Если у Putty есть какой-нибудь известный хост, могу ли я скопировать эту запись хоста из базы данных Putty в ~/.ssh/known_hosts в Windows?

2 ответа

PuTTY хранит известные хосты в реестре Windows. В FAQ они предлагают скрипт Python для преобразования существующего known_hosts файл в файл Windows .REG, но добавляя в ~/.ssh/known_hosts не добавит к хостам, которым доверяет PuTTY.

Вы также можете добавить хосты по отдельности, подключившись через PuTTY и нажав "Да" в предупреждении безопасности PuTTY. Для этого либо откройте графический интерфейс PuTTY и заполните необходимые поля для подключения, либо вызовите его из командной строки: putty.exe username@hostname port

В Windows 10 Pro вы можете добавить клиент Open SSH в меню «Настройки» -> «Приложения» -> «Дополнительные функции». Это доставит вас обоих иssh-keyscan.

В моем случае мне пришлось сначала запуститьssh-keygenчтобы достать мне пару ключей%HOMEPATH%\.ssh. Затем я загрузил файл открытого ключа на хост, к которому хочу подключиться, согласно их инструкциям.

Затем в командной строке в моем каталоге .ssh я запустилssh-keyscan [host] > known_hosts.

(Затем я мог бы автоматически подключиться из простого скрипта Python, используяparamiko.)

Другие вопросы по тегам