psexec sem senha no windows

2

Estou analisando as opções de implantação no momento. Estou usando o Jenkins em uma máquina Windows para controlar a implantação em vários servidores remotos do Windows.

A implantação envolve a execução de um script em lote nos servidores remotos do Windows, e até agora o psexec parece resolver o problema. O único problema que tenho com isso é que eu preciso dar psexec minha senha em texto simples.

Alguém sabe de um equivalente a chave pública / privada SSH para psexec, ou algum outro login remoto sem senha para Windows que me permitirá sincronizar arquivos e executar scripts em lote?

    
por Hippyjim 17.07.2013 / 09:54

2 respostas

1

Não estou ciente de nada realmente análogo à autenticação baseada em chave SSH para Windows. Mas aqui estão algumas ideias:

De aqui , Eu acho que se você se conectar primeiro ao compartilhamento ipc $ do host remoto, então execute o psexec, que o psexec será executado automaticamente no contexto da conexão ipc $.

Então, no seu arquivo de lote:

net use \myserver\IPC$ /user:MyID MyPassword
psexec \myserver c:\whatever.cmd

Isso impedirá que seu nome de usuário / senha seja enviado pela rede em texto não criptografado. No entanto, ele deixa seu nome de usuário / senha visível dentro do seu arquivo de lote.

Uma maneira de contornar isso é escrever um programa executável cuja única função é executar "net use \ [argumento de linha de comando] \ IPC $ / user: MyID MyPassword". (Pessoalmente eu usaria algo como autoit para escrever o exe.) Vamos dizer que o nome "nu.exe". Então seu nome de usuário / senha secreta é pelo menos incorporado dentro de "nu.exe" e, portanto, não está em texto puro. Embora seja provavelmente possível fazer engenharia reversa via descompilando-o , ele é pelo menos um pouco ofuscado.

Então o seu processo é:

nu.exe myserver
psexec \myserver c:\whatever.cmd

Mas, então, você precisa manter o nu.exe em um local seguro, porque qualquer um que tenha acesso a ele poderá executar programas em hosts remotos como qualquer ID que você tenha embutido no nu.exe.

Portanto, ambas as opções têm desvantagens, mas talvez uma delas funcione para você ...

    
por 26.07.2013 / 21:22
1

O PAExec tem uma solução um pouco melhor com os parâmetros -p @ e -p @ d.

Ele permite que você escreva sua senha em um arquivo, execute o PAExec e ele lerá o arquivo imediatamente e, em seguida, o excluirá. Ainda não é tão bom quanto SSH com chave pública / privada, mas uma opção ...

    
por 26.07.2013 / 23:21