蚂蚁支持 ssh-agent

蚂蚁支持 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。我有一个与 Pageant 兼容的 ssh 代理:KeePass2/KeeAgent。

答案1

不是确切地你所要求的,但我已经通过使用解决了类似的问题(在 OS X 上的 Maven Antrun 插件中)执行任务而是。因此,您可以使用例如类似这样的内容来替换您已有的内容:

<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实际测试过这一点

相关内容