2014-01-28 88 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'"/>

的伎倆。