解决Linux下scp传输成功后出现挂起hang和文件大小异常的问题

今天在安装系统为CentOS 6.6的服务器上使用SCP传输小文件的时候,出现传输进度达到100%但是接收文件一方文件大小为0的情况,下图为使用“scp -vvvv [file] [user]@[IP]:[directory]”打开了debug信息下的传输过程:

解决Linux下scp传输成功后出现挂起hang和文件大小异常的问题_第1张图片

由上图可知,接收方写入文件时候一直卡在2144个字节,没有达到总数为4813的字节数,并且使用ps查看系统进程,scp的进程处于挂起休眠待完成的状态(S+)。

这时候尝试传输其他文件,发现大小超过1000字节以上的文件就会scp失败,否则正常,期间尝试过清空ssh的known_hosts和authorized_keys(公钥),仍出现该情况。

最后经搜索,发现如下分析:

解决Linux下scp传输成功后出现挂起hang和文件大小异常的问题_第2张图片

疑似是路由器上的MTU相关设置问题,经过与网管沟通,调整服务器出口路由配置,指定一个固定的MTU值,不再使用自动发现(auto-discovery)之后,恢复正常。如上图所述,该服务器网段不允许ICMP协议包进入,疑似跟网络运营商的出口策略配置有关,待考察。

你可能感兴趣的:(网络相关,Linux系统相关)