我可以直接进入我的ubuntu盒子,我已经scp
将我的应用程序的da版本放到了服务器上,但是当我运行时
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
Run Code Online (Sandbox Code Playgroud)
问题是连接关闭了,可能是因为文件太大,会话超时终止。
解决方案 1:从保持会话的服务器(确认)来回发送保持活动消息,使用ServerAliveCountMax和ServerAliveInterval选项
scp -o ServerAliveInterval=15 -o ServerAliveCountMax=3 <yourIP>:~
Run Code Online (Sandbox Code Playgroud)
在这个例子中,每 15 秒回顾一次 ack,如果 45 秒 (15*3) 内 3 次 ack 没有回来,则关闭会话。
查看下面的属性文档:
ServerAliveCountMax 设置可以在没有 ssh(1) 从服务器接收任何消息的情况下发送的服务器活动消息的数量(见下文)。如果在发送服务器活动消息时达到此阈值,ssh 将与服务器断开连接,终止会话。需要注意的是,服务器活动消息的使用与 TCPKeepAlive(如下)有很大不同。服务器活动消息通过加密通道发送,因此不会被欺骗。TCPKeepAlive 启用的 TCP keepalive 选项是可欺骗的。当客户端或服务器依赖于知道连接何时变得无响应时,服务器活动机制很有价值。默认值为 3。例如,如果 ServerAliveInterval(见下文)设置为 15 并且 ServerAliveCountMax 保留为默认值,如果服务器变得无响应,
ServerAliveInterval设置超时间隔(以秒为单位),此后如果未从服务器接收到数据,ssh(1) 将通过加密通道发送消息以请求服务器的响应。默认为 0,表示这些消息不会发送到服务器。
解决方案 2:我可以建议您一个简单的解决方法:压缩文件,发送它并将其解压缩到您的目标机器中。这将缩短连接时间并解决超时问题。
gzip bigfile.bin
scp bigfile.bin.gz <destinationIp>:~/
ssh -At <destinationIp>
cd ~
gunzip bigfile.bin.gz
Run Code Online (Sandbox Code Playgroud)
尝试限制 - 2Mb/sec max throughput
像这样:
scp -l 2000 MaryBaked.tar.gz root@marybakedpdx.com:/home/marybakedpdx
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7979 次 |
最近记录: |