Ant:如何避免SSH密码?

时间:2011-06-14 23:26:40

标签: macos ant ssh exec scp

问题

  • 我们有一台服务器,我们有完全控制
  • 我们有一个漫长而复杂的shell脚本,通过SCP和SSH与该服务器进行交互
  • 我们有一个运行脚本的Ant目标

简化示例:

<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。

1 个答案:

答案 0 :(得分:4)

您可以在~/.ssh下安装私钥,ssh会自动查看该目录并使用您安装的密钥。

在服务器端,将公钥添加到~/.ssh/authorized_keys