Phing SSH Agent转发

时间:2014-01-28 23:40:21

标签: ssh phing

Phing在服务器A上运行,使用此SSH任务连接到服务器B:

<ssh username="xxxxxx"
host="B"
pubkeyfile="/home/xxxx/.ssh/id_rsa.pub"
privkeyfile="/home/xxxx/.ssh/id_rsa.pem"
command="cd ./public_html/staging; hg pull />

它连接到服务器B ok,但尝试连接到服务器C的hg pull会回吐remote: Permission denied (public key)

然而,从A手动SSH到服务器B并执行hg pull工作正常,建议代理转发正在运行,因为我没有在B上运行任何代理,仅在A上运行。

有没有办法可以看到B确实使用了哪个公钥来尝试调试它?

1 个答案:

答案 0 :(得分:1)

Phing的任务使用的PHP的SSH2似乎不支持代理转发。

用简单的exec任务替换<ssh>任务,即

<exec command="ssh xxxxxx@B 'cd ./public_html/staging; hg pull'"/>

做了这个伎俩。