【发布时间】:2011-09-15 03:12:09
【问题描述】:
问题
- 我们有一个可以完全控制的服务器
- 我们有一个长而复杂的 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。
【问题讨论】: