2011-08-26 68 views
5

我正在爲我的構建腳本使用Fabric。我剛剛克隆了一臺虛擬機,並創建了一臺新服務器。 Fabric腳本(在下面使用paramiko)可以很好地運行一臺服務器,但不能運行其他服務器。由於它是一個克隆,我不知道可能會有什麼不同,但每次運行Fabric結構腳本時,都會收到錯誤Error reading SSH protocol banner。該腳本與兩臺服務器上的相同用戶連接。這個腳本在所有其他服務器上工作正常,除了我剛剛克隆的這個新的服務器。唯一不同的是IP地址,它是完全不同的範圍。Paramiko錯誤:讀取SSH協議標題時出錯

關於可能導致此問題的任何想法?

回答

7

這個問題並不在於Paramiko,Fabric或SSH守護進程。它只是ISP內部網絡中的防火牆配置。出於某種原因,他們不允許在他們的不同子網之間進行通信。

我們無法真正修復防火牆配置,因此我們將所有IP切換到同一子網上。

+1

我出現同樣的錯誤。但在我的情況下主機是亞馬遜實例,我應該怎麼做,在這種情況下 – sagar

2

嘗試在transport.py文件中將橫幅超時從15秒更改爲30秒。另外,它可能是服務器上的sshd守護程序被掛起。你可以手動進入SSH嗎?

+0

我編輯了transport.py並將超時改爲30秒,但沒有幫助。我可以手動SSH到服務器並執行所有命令。奇怪的問題。 –

+0

嗨加布裏埃爾,這可能是由網絡問題引起的? –

+0

我剛剛從Fabric服務器向服務器A和服務器B運行了一個跟蹤路由。服務器A的跟蹤路由很好,腳本也能正常工作,但服務器B的跟蹤路由向我顯示了這些未知主機事件中的28個* * * *'。兩臺服務器的IP都屬於同一ISP,唯一不同的是該類。 –