Как добавить известный хост 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
.)