Проверьте ключ хоста сервера с помощью psftp в Windows Service

1

Я получаю сообщение ниже при запуске командного файла команды SFTP через службу Windows.

Ключ хоста сервера не кэшируется в реестре. Вы
не имеют гарантии, что сервер - это компьютер, на котором вы
думаю.
Отпечаток ключа сервера rsa2:
ssh-rsa 1024 см3: 78: 13: a3: 68: a6: 59: 7e: b8: 23: 2d: 13: 3e: 66: 9b: b9
Если вы доверяете этому хосту, введите "y", чтобы добавить ключ к
PuTTY и продолжайте соединение.
Если вы хотите продолжать соединение только один раз, без
добавив ключ в кэш, введите "n".
Если вы не доверяете этому хосту, нажмите Return, чтобы отказаться от
подключение.
Сохранить ключ в кеше? (Г/л)
Соединение заброшено.

Клавиши SSH уже кэшируются в следующем пути,

HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys

Но поскольку моя служба Windows работает на локальной машине, мне нужно скопировать те же ключи в указанном ниже пути вручную,

HKEY_USERS\.DEFAULT\Software\SimonTatham\PuTTY\SshHostkeys

Есть ли другой способ сделать это автоматически, когда служба запускается в первый раз?

или

Есть ли какая-либо команда для копирования кеша из одного реестра в другой (т.е. из "HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys" в "HKEY_USERS.DEFAULT\Software")

Я использовал ниже команду,

Copy-Item -Path 'HKCU:\Software\SimonTatham\' -Destination 'hku:\Software\' -Recurse

но получил ошибку, недействительный путь к файлу

Теги:
windows-services
putty
sftp

1 ответ

2

Ключ хоста в идеале должен быть частью вашего пакета сценариев (это часть информации о сеансе, а также имя хоста, имя пользователя и т.д.).

Последние версии psftp позволяют указывать ожидаемый ключ хоста с помощью переключателя -hostkey:

psftp.exe [email protected] -hostkey aa:bb:cc:...

Мой предыдущий ответ из-за того, что у psftp.exe не было переключателя -hostkey:

Вы должны экспортировать SshHostkeys реестра SshHostkeys в файл и импортировать его из сценария (пакетного файла) перед запуском SFTP.

Или используйте другой скриптовый SFTP-клиент, который позволяет указать ключ хоста в скрипте. Например, с помощью WinSCP вы можете:

open sftp://martin:[email protected]/ -hostkey="ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"

См. Https://winscp.net/rus/docs/scriptcommand_open

(Я автор WinSCP)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню