4

I have written a PS1 script that 7-zips a file and uses PuTTY's SCP to store it at my back-up server. I have tested it and it works perfectly.

Then I log into my SQL Server Agent and add an extra step to my back-up job to execute that script as soon as it's done with its back-up job. It's called correctly, the .7z file is created, and pscp.exe is called... and halts. I go to SQL Server Agent's Job Activity Monitor and find this:

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) 

Now this is a non-interactive session so I have no opportunity to press "y" there. On top of that, I have no idea which user this job is running on, and even if I knew that, I have no idea where this cache is. What now?

3 Answers 3

3

After you added the SSH fingerprint in your local session you can also go to your Registry at

HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys 

and copy the keys to other users, e.g.

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

or for Local System User:

HKEY_USERS\S-1-5-18\Software\SimonTatham\PuTTY\SshHostKeys 
1
  • Both answers are very good solutions to the problem, but I realized I should have switched the accepted answer to this one because it most directly answers the question as stated. Commented May 25, 2023 at 16:43
5

You can do something like

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

Which allows the copy to continue without storing the key fingerprint in the registry. Alternatively you can

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

which will accept the question and add the key fingerprint to the users HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys.

1
  • 1
    I just tested and it works fine. It ended up at HKEY_USERS\S-1-5-18\Software\SimonTatham\PuTTY\SshHostKeys. Thanks. Commented Feb 15, 2012 at 13:20
0

Add the option -batch to your script file.

1
  • 2
    -batch doesn't work. -batch avoids prompt but error is still there. "Connection abandoned" Commented Mar 2, 2016 at 19:58

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.