Назад | Перейти на главную страницу

Добавить ключ хоста SSH в кеш PuTTY другого пользователя

Я написал сценарий PS1, который архивирует файл 7-zip и использует SCP PuTTY для хранения его на моем резервном сервере. Я его протестировал, и он отлично работает.

Затем я вхожу в свой агент SQL Server и добавляю дополнительный шаг к своему заданию резервного копирования, чтобы выполнить этот сценарий, как только он завершит свое задание резервного копирования. Вызывается правильно, создается файл .7z, вызывается pscp.exe ... и останавливается. Я захожу в монитор активности работы агента SQL Server и нахожу следующее:

Message
The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 b5:f8:d2:5f:be:90:b6:be:15:d3:26:d5:c6:42:59:05
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n)

Сейчас это не интерактивный сеанс, поэтому у меня нет возможности нажимать там «y». Кроме того, я понятия не имею, на каком пользователе выполняется это задание, и даже если бы я знал это, я понятия не имел, где находится этот кеш. Что теперь?

Вы можете сделать что-то вроде

echo n | pscp file.7z user@remote.tld:/path

Это позволяет продолжить копирование без сохранения отпечатка ключа в реестре. В качестве альтернативы вы можете

echo y | pscp file.7z user@remote.tld:/path

который примет вопрос и добавит отпечаток ключа для пользователей HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys.

После того, как вы добавили отпечаток SSH в локальный сеанс, вы также можете перейти в свой реестр по адресу

HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys

и скопируйте ключи другим пользователям, например

HKEY_USERS\.DEFAULT\Software\SimonTatham\PuTTY\SshHostKeys

или для Пользователь локальной системы:

HKEY_USERS\S-1-5-18\Software\SimonTatham\PuTTY\SshHostKeys

Добавить вариант -batch в ваш файл сценария.