web-dev-qa-db-ja.com

SSHホストキーを別のユーザーのPuTTYキャッシュに追加します

ファイルを7-zipし、PuTTYのSCPを使用してバックアップサーバーに保存するPS1スクリプトを作成しました。私はそれをテストしました、そしてそれは完全に働きます。

次に、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」を押す機会はありません。その上、このジョブがどのユーザーで実行されているのかわかりません。また、それを知っていても、このキャッシュがどこにあるのかわかりません。今何?

1
Ekevoo

あなたは次のようなことをすることができます

echo n | pscp file.7z [email protected]:/path

これにより、レジストリにキーフィンガープリントを保存せずにコピーを続行できます。または、

echo y | pscp file.7z [email protected]:/path

質問を受け入れ、ユーザーにキー指紋を追加しますHKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys

3
user9517

ローカルセッションに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
1

オプションを追加します-batchスクリプトファイルに。

0
Miguelite