Как извлечь SSH-ключ SFTP из кэша ключей в FTP-клиенте FileZilla

StackOverflow https://stackoverflow.com/questions/44089

  •  09-06-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

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

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

Другие советы

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

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

Спасибо тебе, Томас, и ТАК ДАЛЕЕ!

Спасибо Дугману за совет!

Чтобы еще больше помочь всем новичкам, читающим ваш ответ.
Перед запуском ssh-keyscan, предполагая, что openssh установлен по умолчанию, необходимо выполнить несколько команд (подробнее читайте установку quickstart / 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

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

Если только я вас не неправильно понял:тебе это и не нужно.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top