Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

Томас был прав. FileZilla копирует программу PuTTY PSFTP и сохраняет сохраненные ключи, закодированные в шестнадцатеричном формате, в списке реестра, который он перечисляет (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

Спасибо, Томас и SO!

Ответ 3

Спасибо Dougman за подсказку!

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

Ответ 4

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

Ответ 5

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

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

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