ant scp suporte para ssh-agent

5

Eu tenho um arquivo build.properties existente que usa scp assim:

<scp todir="${linux.user}@${linux.site}:@{todir}" keyfile="${ssh.keyfile}" passphrase="${ssh.passphrase}" trust="yes" verbose="@{verbose}">
   <filestocopy />
</scp>

A documentação para esse comando está aqui: link

Eu gostaria de passar para o ssh-agent e eliminar a frase secreta. Algumas pessoas que estão usando isso configuraram seu ssh para NÃO usar senhas e deixar a frase secreta em branco.

Uma alternativa é usar link , mas eu encontrei essa pergunta de 1,5 anos que diz que não é suportado ainda:

link

Isso é usado em muitos scripts ant, então eu preciso de um plano que me permita usar o ssh-agent enquanto ainda permite que outros continuem com seu método.

Eu estou no Windows 7 tentando arquivos scp para o Linux. Eu tenho um agente ssh compatível com o Pageant: KeePass2 / KeeAgent.

    
por Michael Potter 10.02.2015 / 00:58

1 resposta

2

Não exatamente o que você pediu, mas eu resolvi meu problema similar (dentro do plugin Maven Antrun no OS X) usando o exec task . Então você pode usar, por exemplo, algo assim para substituir o que você tem:

<exec executable="pscp">
   <arg value="dirtocopy"/>
   <arg value="-r"/>
   <arg value="-i"/>
   <arg value="${ssh.keyfile}"/>
   <arg value="${linux.user}@${linux.site}:@{todir}"/>
</exec>

Não é ideal, claro. Para suporte multiplataforma, você exigiria que todos tivessem uma implementação de SCP já instalada, e você precisaria de condicionais para escolher entre scp on * nix e pscp ou o que quer que seja no Windows.

No entanto, tem algumas vantagens - ssh-agent integration apenas funciona (de acordo com o seu pedido original), e você provavelmente não precisa do argumento -i que incluí para completar.

Ressalva : Eu não testei isso na suíte do PuTTY ou no Windows

    
por 05.10.2015 / 03:38