ant <scp> поддержка ssh-agent

У меня есть существующий файл build.properties, который использует scp следующим образом:

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

Документация для этой команды находится здесь: https://ant.apache.org/manual/Tasks/scp.html

Я хотел бы перейти к ssh-agent и исключить парольную фразу. Некоторые люди, которые используют это, настроили свой ssh, чтобы НЕ использовать пароли, и оставляли парольную фразу пустой.

Один из вариантов - использовать http://www.jcraft.com/jsch-agent-proxy/, но я нашел этот 1,5-летний вопрос, который говорит, что он еще не поддерживается:

https://stackoverflow.com/questions/19684309/can-ant-using-ssh-encrypted-private-key-from-pageant

Это используется во многих ant-скриптах, поэтому мне нужен план, который позволил бы мне использовать ssh-agent, в то же время позволяя другим продолжать свой метод.

Я на Windows 7 пытаюсь scp файлы в Linux. У меня есть ssh-агент, совместимый с Pageant: KeePass2/KeeAgent.

1 ответ

Не совсем то , что вы просили, но я решил мою похожую проблему (в плагине Maven Antrun на OS X), используя вместо этого задачу exec. Таким образом, вы можете использовать, например, что-то вроде этого, чтобы заменить то, что у вас есть:

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

Это не идеально, конечно. Для кроссплатформенной поддержки вам потребуется, чтобы у всех уже была установлена ​​реализация SCP, и вам понадобятся условные выражения для выбора scp на *nix и pscp или что угодно в Windows.

Однако у него есть некоторые преимущества - ssh-agent интеграция просто работает (согласно вашему первоначальному запросу), и вам, вероятно, не нужно -i аргумент, который я включил для полноты.

Предостережение: я на самом деле не проверял это с пакетом PuTTY или на Windows

Другие вопросы по тегам