简化示例:
<target name="run-script">
<exec executable="/path/to/script_that_runs_ssh_cmds.sh" />
</target>
此目标失败,但出现以下异常:
ssh_askpass: exec(/usr/libexec/ssh-askpass): No such file or directory
经过研究,我认为可以通过生成公钥/私钥对来解决这个问题。这样,ssh命令不必提示输入密码。假设这个解决方案可行,那么你如何制作它以便系统上的SSH调用使用密钥来代替提示输入密码?是否可以通过我们团队中的任何人可以从他们的笔记本电脑成功运行Ant目标来设置它?
注意:我们都运行OS X 10.6(Leopard),并且物理连接到与服务器相同的LAN。
答案 0 :(得分:4)
您可以在~/.ssh
下安装私钥,ssh
会自动查看该目录并使用您安装的密钥。
在服务器端,将公钥添加到~/.ssh/authorized_keys