macos - Ant:如何避免 SSH 密码?

标签 macos ant ssh exec scp

问题

  • 我们有一个可以完全控制的服务器
  • 我们有一个又长又复杂的 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/

相关文章:

ios - 为什么副本捆绑资源中的文件显示为红色?

java - 我可以使用 Ant 检测我是否在 Linux 系统(而不是通用 Unix 系统)上吗?

eclipse - 如何在eclipse 中调试Ant 项目?

python - 如何在 python 2.7 中使用 paramiko 从另一台机器上 ssh 一台机器

macos - 未遵循 $PATH 优先级?

xcode - 在 Windows 上签署 OS X 应用程序(无需协同设计)

objective-c - [NSFont systemFontOfSize] 内存需要释放吗

ant - 有条件地将文件包含在文件集中

node.js - 当我 ssh 进入实例时, Node 版本与手动执行时不同

linux - ssh key 不适用于 linux 主机