问题
- 我们有一个可以完全控制的服务器
- 我们有一个又长又复杂的 shell 脚本,通过 SCP 和 SSH 与该服务器交互
- 我们有一个运行脚本的 Ant Target
简化示例:
<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 调用使用 key 而不是提示输入密码?是否可以进行设置,使我们团队中的任何人都可以从他们的笔记本电脑成功运行 Ant 目标?
注意:我们都运行 OS X 10.6 (Leopard),并且物理连接到与服务器相同的 LAN。
最佳答案
您只需在 ~/.ssh
下安装私钥,ssh
将自动查找该目录并使用您安装的 key 。
在服务器端,将公钥添加到~/.ssh/authorized_keys
关于macos - Ant:如何避免 SSH 密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6351357/