Ant:如何避免 SSH 密码?

发布于 2024-11-15 23:27:46 字数 627 浏览 3 评论 0原文

问题

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

Problem

  • We have a server over which we have FULL control
  • We have a long, complicated shell script that interacts with this server via SCP and SSH
  • We have an Ant Target that runs the script

simplified example:

<target name="run-script">
    <exec executable="/path/to/script_that_runs_ssh_cmds.sh" />
</target>

This target fails with the following exception:

ssh_askpass: exec(/usr/libexec/ssh-askpass): No such file or directory

Question

After researching a bit, I think this can be fixed by generating public/private key pairs. That way, the ssh command doesn't have to prompt for passwords. Assuming this solution will work, how do you go about making it so that SSH calls on the system use keys in lieu of prompting for passwords? Is it possible to set this up in a way that anyone on our team can run the Ant target successfully from their laptop?

Note: We're all running OS X 10.6 (Leopard) and physically connected to the same LAN as the server.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

¢好甜 2024-11-22 23:27:46

您只需将私钥安装在 ~/.ssh 下,ssh 将自动查找该目录并使用您安装的密钥。

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

You can just install the private key under ~/.ssh and ssh will automatically look into that directory and use the key you installed.

In the server side, add the public key to ~/.ssh/authorized_keys

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文