Я получаю сообщение ниже при запуске командного файла команды 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
но получил ошибку, недействительный путь к файлу
Ключ хоста в идеале должен быть частью вашего пакета сценариев (это часть информации о сеансе, а также имя хоста, имя пользователя и т.д.).
Последние версии 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)