scp上的管道错误

时间:2015-05-03 23:23:38

标签: ubuntu ssh

我可以直接进入我的ubuntu盒子,我已经scp将我的应用程序版本放到服务器上,但是当我运行时

scp MaryBaked.tar.gz root@marybakedpdx.com:/home/marybakedpdx

甚至

scp MaryBaked.tar.gz root@marybakedpdx.com:~

scp的进度上升到81%,然后过程说stalled我得到了

  

仪式失败:管道破裂   失去联系

修改

  

root @marybakedpdx:/ home / marybakedpdx#df -T

Filesystem     Type     1K-blocks    Used Available Use% Mounted on
/dev/vda1      ext4      30830588 2906508  26334944  10% /
none           tmpfs            4       0         4   0% /sys/fs/cgroup
udev           devtmpfs    498088       4    498084   1% /dev
tmpfs          tmpfs       101788     356    101432   1% /run
none           tmpfs         5120       0      5120   0% /run/lock
none           tmpfs       508940       0    508940   0% /run/shm
none           tmpfs       102400       0    102400   0% /run/user

2 个答案:

答案 0 :(得分:5)

尝试限制 - 2Mb/sec max throughput如下:

scp -l 2000 MaryBaked.tar.gz root@marybakedpdx.com:/home/marybakedpdx

答案 1 :(得分:0)

问题是连接已关闭,可能是因为文件太大并且会话因超时而终止。

解决方案1 ​​:使用 ServerAliveCountMax ServerAliveInterval 选项来回发送保持会话的服务器(ack)保持活动的消息

scp -o ServerAliveInterval=15 -o ServerAliveCountMax=3 <yourIP>:~

在此示例中,每隔15分钟便回头检查一次,如果45秒内没有3次(15 * 3)再来一次,则关闭会话。

查看下面的属性文档:

  

ServerAliveCountMax   设置在不通过ssh(1)接收来自服务器的任何消息的情况下可以发送的服务器活动消息的数量(请参阅下文)。如果在发送服务器活动消息时达到此阈值,则ssh将与服务器断开连接,从而终止会话。重要的是要注意,服务器活动消息的使用与   TCPKeepAlive(如下)。服务器有效消息是通过加密通道发送的,因此不会被欺骗。 TCP   由TCPKeepAlive启用的keepalive选项是可欺骗的。服务器   当客户端或服务器依赖时,活动机制非常有价值   知道何时连接变得无响应。默认值   是3。例如,如果ServerAliveInterval(请参见下文)设置为15   如果服务器成为服务器,则将ServerAliveCountMax保留为默认值   如果没有响应,ssh将在大约45秒后断开连接。

     

ServerAliveInterval 设置超时间隔,以秒为单位   没有收到来自服务器的数据,ssh(1)将发送一条消息   通过加密的通道来请求服务器的响应。   默认值为0,表示这些消息不会发送到   服务器。

解决方案2 : 我可以建议您一个简单的解决方法:压缩文件,发送并将其解压缩到目标计算机中。这将缩短连接时间并应解决超时问题。

gzip bigfile.bin
scp bigfile.bin.gz <destinationIp>:~/
ssh -At <destinationIp>
cd ~
gunzip bigfile.bin.gz