【发布时间】:2014-07-07 02:57:16
【问题描述】:
我已经为此苦苦挣扎了 2 天。
我有 2 台 linux 机器 A 和 B,并尝试从 A 远程运行以下命令(就像在 B 本地完成一样):
sshpass -p 'somePassword' ssh userName@machineB "wget http://someUrl.com/someFile.zip"
someFile.zip 应该下载并保存在 B 上,但我得到连接超时。 在 macnine B 上直接运行此命令可以正常工作。我认为 SSH 存在一些问题。
TeamCity 持续集成需要此脚本。
附言sshpass 只是一个通过 ssh 运行命令的实用程序,无需用户通过指定密码进行交互。
什么问题以及如何解决?谢谢。
更新: 代理设置应在 ~/.bashrc 文件中指定用于非交互式会话。原因是代理设置位于 /etc/profile 中,它仅适用于交互式会话。
【问题讨论】:
-
A 和 B 是如何连接的?
-
通过 SSH。 A 运行连接到 B 的命令以执行“wget someUrl.com/someFile.zip”
-
顺便说一句,手动执行此操作也可以正常工作,如下所示: ssh userName@machineB Password: ***** Connected... wget someUrl.com/someFile.zip Resolving someproxy.mySite.com... IP 连接到 someProxy.mySitecom|IP|:8080... 已连接。已发送代理请求,等待响应... 200 OK 长度:22873 (22K) [application/zip-archive] 保存到:`someFile.zip'