I need to add a private SSH key to Putty Agent (pagent.exe) every time a Windows server starts up -- before a user logs on interactively. The key is to be used by a service.

If it was a regular user that needed to use the key, I would just place a shortcut in the Startup folder, however, this does not work on a server, because no user logs in.

I need this on Windows Server 2008 as well as Windows Server 2003.

I figure this must be a pretty common use case as public key authentication with SSH and SFTP becomes more widespread.

link|improve this question

20% accept rate
feedback

1 Answer

You can provide a path to the key on the Target command line in the shortcut

  • Create a shortcut to put in startup.
  • Right click -> properties
  • Modify the Target: section to add the key

    C:\Program Files\putty\pageant.exe C:\Program Files\putty\keys\iain.ppk

When your system starts pageant will load the key and if it requires a pass phrase to unlock it it will ask for it.

You can add multiple keys on the pageant command line too e.g.

C:\Program Files\putty\pageant.exe C:\keys\iain.ppk c:\keys\user1.ppk
link|improve this answer
Will this work for servers on which users never logs in? – ervingsb Jan 3 at 19:12
If the keys don't have a pass phrase then yes. If they do have a pass phrase then someone needs to supply it. – Iain Jan 3 at 19:53
Can you elaborate on this step: "Create a shortcut to put in startup." What startup folder do you mean here? Normally startup folders are related to a specific user and only run when said user logs in, right? – ervingsb Jan 4 at 7:40
The lines above could just as easily be put in a batch file couldn't they? – Iain Jan 4 at 9:06
Sure, but how do I make sure that the bat file is run on server startup? Even when no users are logged in? – ervingsb Jan 4 at 12:24
show 1 more comment
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.