Como adicionar a chave SSH ao PuTTY Agent na inicialização do Windows Server?

16

Preciso adicionar uma chave SSH privada ao Putty Agent (pagent.exe) toda vez que um servidor Windows é iniciado - antes que um usuário faça logon interativamente. A chave deve ser usada por um serviço.

Se fosse um usuário comum que precisasse usar a chave, eu apenas colocaria um atalho na pasta Inicialização, no entanto, isso não funciona em um servidor, porque nenhum usuário efetua login.

Eu preciso disso no Windows Server 2008 e no Windows Server 2003.

Eu acho que esse deve ser um caso de uso bastante comum, pois a autenticação de chave pública com SSH e SFTP se torna mais difundida.

ervingsb
fonte

Respostas:

21

Você pode fornecer um caminho para a chave na linha de comando Destino no atalho

  • Crie um atalho para colocar na inicialização.
  • Clique com o botão direito -> propriedades
  • Modifique a Target:seção para adicionar a chave

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

Quando o sistema iniciar, o concurso carregará a chave e, se precisar de uma frase secreta para desbloqueá-la, solicitará.

Você também pode adicionar várias chaves na linha de comando do concurso, por exemplo,

C:\Program Files\putty\pageant.exe C:\keys\iain.ppk c:\keys\user1.ppk
Iain
fonte
Isso funcionará para servidores nos quais os usuários nunca efetuam login?
ervingsb
11
Se as chaves não tiverem uma frase secreta, sim. Se eles tiverem uma frase secreta, alguém precisará fornecê-la.
user9517
Você pode elaborar esta etapa: "Crie um atalho para colocar na inicialização". Qual pasta de inicialização você quer dizer aqui? Normalmente, as pastas de inicialização estão relacionadas a um usuário específico e só são executadas quando o usuário faz login, certo?
ervingsb
As linhas acima poderiam ser facilmente colocadas em um arquivo em lotes, não poderiam?
user9517
2
Você pode usar o "Agendador de tarefas" embutido, que permite executar programas em vários momentos, por exemplo, a inicialização do sistema.
marc.guenther