2014-01-28 54 views
0

Phing在服务器A上运行,与此SSH任务连接到服务器B:Phing SSH代理转发

<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确定,但会尝试连接到服务器C的hg pull吐回remote: Permission denied (public key)

但是手动SSH'ing到从服务器B和做一个hg pull工作正常,这表明代理转发工作,因为我没有运行基于B的任何代理,只能在A.

有没有一种方法,我可以看到哪个公共密钥确实被B用来尝试调试呢?

回答

1

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

用一个简单的任务EXEC更换<ssh>任务,即

<exec command="ssh [email protected] 'cd ./public_html/staging; hg pull'"/>

的伎俩。