Как извлечь SFTP-ключ SFTP из кэша ключей в FTP-клиенте FileZilla - PullRequest
14 голосов
/ 04 сентября 2008

Я подключился к серверу через SFTP, используя FileZilla, и согласился добавить SSH-ключ сервера в кэш ключей в FileZilla.

Как извлечь этот кэшированный ключ в файл ключа, чтобы использовать его через другие приложения SFTP, для которых требуется сделать файл ключа доступным?

Мне не удалось найти ничего в документации FileZilla, связанной с этим.

Ответы [ 5 ]

15 голосов
/ 05 сентября 2008

Если вы используете стандартный консольный клиент openssh (cygwin или из linux), ключи хоста сохраняются по одному на строку в ~ / .ssh / known_hosts. Отсюда просто выяснить, какой бит этого ключа хоста необходим для вашей библиотеки.

Putty также хранит ключи хоста, но, похоже, кодирует их в шестнадцатеричном виде. Их можно найти по адресу HKCUR \ Software \ SimonTatham \ PuTTY \ SshHostKeys

7 голосов
/ 05 сентября 2008

Томас был прав. FileZilla выполняет функции PSFTP-программы PuTTY и сохраняет сохраненные ключи, закодированные в шестнадцатеричном формате, в ключе реестра, который он перечислил (HKCUR \ Software \ SimonTatham \ PuTTY \ SshHostKeys). Мне нужен был ключ в формате known_hosts, поэтому я мог установить версию windows openssh по его рекомендации и использовать инструмент ssh-keyscan, чтобы поразить сервер и сохранить информацию о ключе в правильном формате:

ssh-keyscan -t rsa <my_ftp_ip_address> > c:\known_hosts
ssh-keyscan -t dsa <my_ftp_ip_address> > c:\known_hosts

Спасибо, Томас и ТАК!

6 голосов
/ 30 августа 2012

Спасибо Дагману за подсказку!

Для дальнейшей помощи новичкам, читающим ваш ответ.
Перед запуском ssh-keyscan при условии, что openssh устанавливается по умолчанию, необходимо выполнить несколько команд (подробнее см. Раздел «Быстрый запуск / readme»)
Вот мои команды, которые позволяют мне получить ключ хоста.

C:\Program Files\OpenSSH\bin>mkgroup -l >> ..\etc\group
C:\Program Files\OpenSSH\bin>mkpasswd -l >> ..\etc\passwd
C:\Program Files\OpenSSH\bin>net start opensshd
The OpenSSH Server service is starting.
The OpenSSH Server service was started successfully.
C:\Program Files\OpenSSH\bin>ssh-keyscan -t rsa vivo.sg.m.com > c:\known_hosts
vivo.sg.m.com SSH-2.0-Sun_SSH_1.1
4 голосов
/ 03 марта 2016

Если вы предпочитаете использовать графический интерфейс, вы можете получить ключ хоста из окна журнала или всплывающего окна при первом подключении с помощью WinSCP FTP-клиента: https://winscp.net/eng/docs/ssh_verifying_the_host_key

0 голосов
/ 04 сентября 2008

Если я не понимаю вас: вам не нужно.

Если вы подключаетесь к серверу с помощью другого приложения (например, PuTTY), и оно ранее не видело сервер, вам будет предложено принять ключ.

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

...