1. 程式人生 > >解決Linux下scp傳輸成功後出現掛起hang和檔案大小異常的問題

解決Linux下scp傳輸成功後出現掛起hang和檔案大小異常的問題

今天在安裝系統為CentOS 6.6的伺服器上使用SCP傳輸小檔案的時候,出現傳輸進度達到100%但是接收檔案一方檔案大小為0的情況,下圖為使用“scp -vvvv [file] [user]@[IP]:[directory]”打開了debug資訊下的傳輸過程:


由上圖可知,接收方寫入檔案時候一直卡在2144個位元組,沒有達到總數為4813的位元組數,並且使用ps檢視系統程序,scp的程序處於掛起休眠待完成的狀態(S+)。

這時候嘗試傳輸其他檔案,發現大小超過1000位元組以上的檔案就會scp失敗,否則正常,期間嘗試過清空ssh的known_hosts和authorized_keys(公鑰),仍出現該情況。

最後經搜尋,發現如下分析:


疑似是路由器上的MTU相關設定問題,經過與網管溝通,調整伺服器出口路由配置,指定一個固定的MTU值,不再使用自動發現(auto-discovery)之後,恢復正常。如上圖所述,該伺服器網段不允許ICMP協議包進入,疑似跟網路運營商的出口策略配置有關,待考察。