git pull報錯: ssh_exchange_identification

問題

在項目中我寫了個編譯打包的腳本,會拉取gitlab上工程的代碼進行編譯,然後上傳到產品服務器。其中有一次git pull去拉取gitlab上工程代碼報錯了:

ssh_exchange_identification: Connection closed by remote host

fatal: Could not read from remote repository.

分析

上面提示的意思是git在pull代碼期間連接突然被遠程中斷,我手動在機器上執行git pull代碼,並沒有出現上述報錯。

我懷疑是gitlab端的問題,由於公司有幾百研發在使用內網搭建的源碼服務器gitlab,很有可能是併發量太大導致gitlab的處理了問題。

我使用的是ssh認證方式去pull代碼,所以第一個想到的是gitlab服務器上ssh參數可能需要調整下。

修改ssh配置

ssh的配置文件:/etc/ssh/sshd_config

修改如下內容:

MaxStartups 500 #ssh登入前的聯機畫面,(即ssh某臺機器,提示yes/no的那個畫面)

MaxSessions 500 #允許的最大會話數

修改完後之後重新加載該配置:

service sshd reload

提示:千萬不要使用service sshd restart,這樣會導致很多客戶端ssh連接中斷

博主:測試生財

座右銘:專注測試與自動化,致力提高研發效能;通過測試精進完成原始積累,通過讀書理財奔向財務自由。

csdn:https://blog.csdn.net/ccgshigao

博客園:https://www.cnblogs.com/qa-freeroad/

51cto:https://blog.51cto.com/14900374


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章