当我尝试将大于 1.5 MB 的文件从远程 HP-UX 系统 scp 到本地 Mac 时,出现了“管道损坏”的情况。
请问有什么建议吗?
小文件可以工作,最大可达 1.1 MB 左右。
我通过 OpenVPN 连接。
我刚刚注意到,如果我通过旧式 VPN 连接(使用 PSK,但这是我所了解的全部:),我可以成功传输大文件(但速度较慢)。
我对 1.1 MB 的好文件和 1.5 MB 的坏文件执行了“scp -o LogLevel=DEBUG3”...跟踪如下。
第一个跟踪是失败的尝试。大约 173 行是它与成功尝试不同的地方。(下面仅显示成功跟踪的剩余部分。)
我尝试了以下各种组合:
-l 2000
-o 服务器存活计数最大值 = 5 -o 服务器存活间隔 = 2
-o IPQoS=吞吐量
-o IPQoS=0x0
不良 SCP 踪迹:'''
sf:tt sieler$ scp -o LogLevel=DEBUG3 ozma:source/rose/cxform .
debug1: Reading configuration data /Users/sieler/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug1: Connecting to ozma port 22.
debug1: Connection established.
debug1: identity file /Users/sieler/.ssh/id_rsa type 0
debug1: identity file /Users/sieler/.ssh/id_rsa-cert type -1
debug1: identity file /Users/sieler/.ssh/id_dsa type -1
debug1: identity file /Users/sieler/.ssh/id_dsa-cert type -1
debug1: identity file /Users/sieler/.ssh/id_ecdsa type -1
debug1: identity file /Users/sieler/.ssh/id_ecdsa-cert type -1
debug1: identity file /Users/sieler/.ssh/id_ed25519 type -1
debug1: identity file /Users/sieler/.ssh/id_ed25519-cert type -1
debug1: identity file /Users/sieler/.ssh/id_xmss type -1
debug1: identity file /Users/sieler/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.9
debug1: Remote protocol version 1.99, remote software version OpenSSH_6.2p2+sftpfilecontrol-v1.3-hpn13v12
debug1: match: OpenSSH_6.2p2+sftpfilecontrol-v1.3-hpn13v12 pat OpenSSH* compat 0x04000000
debug3: fd 5 is O_NONBLOCK
debug1: Authenticating to ozma:22 as 'sieler'
debug3: hostkeys_foreach: reading file "/Users/sieler/.ssh/known_hosts"
debug3: record_hostkey: found key type ECDSA in file /Users/sieler/.ssh/known_hosts:11
debug3: load_hostkeys: loaded 1 keys from ozma
debug3: order_hostkeyalgs: prefer hostkeyalgs: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
debug3: send packet: type 20
debug1: SSH2_MSG_KEXINIT sent
debug3: receive packet: type 20
debug1: SSH2_MSG_KEXINIT received
debug2: local client KEXINIT proposal
debug2: KEX algorithms: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,ext-info-c
debug2: host key algorithms: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected],[email protected],[email protected],ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,[email protected],zlib
debug2: compression stoc: none,[email protected],zlib
debug2: languages ctos:
debug2: languages stoc:
debug2: first_kex_follows 0
debug2: reserved 0
debug2: peer server KEXINIT proposal
debug2: KEX algorithms: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: host key algorithms: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256
debug2: ciphers ctos: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: ciphers stoc: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-md5,hmac-sha1,[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-md5,hmac-sha1,[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: compression ctos: none,[email protected]
debug2: compression stoc: none,[email protected]
debug2: languages ctos:
debug2: languages stoc:
debug2: first_kex_follows 0
debug2: reserved 0
debug1: kex: algorithm: ecdh-sha2-nistp256
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: aes128-ctr MAC: [email protected] compression: none
debug1: kex: client->server cipher: aes128-ctr MAC: [email protected] compression: none
debug3: send packet: type 30
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug3: receive packet: type 31
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:p4b4zkfgHwRyomxCiUehCowkgA11sna8ko7mWNgrhQA
debug3: hostkeys_foreach: reading file "/Users/sieler/.ssh/known_hosts"
debug3: record_hostkey: found key type ECDSA in file /Users/sieler/.ssh/known_hosts:11
debug3: load_hostkeys: loaded 1 keys from ozma
debug3: hostkeys_foreach: reading file "/Users/sieler/.ssh/known_hosts"
debug3: record_hostkey: found key type ECDSA in file /Users/sieler/.ssh/known_hosts:5
debug3: load_hostkeys: loaded 1 keys from 10.84.3.15
debug1: Host 'ozma' is known and matches the ECDSA host key.
debug1: Found key in /Users/sieler/.ssh/known_hosts:11
debug3: send packet: type 21
debug2: set_newkeys: mode 1
debug1: rekey after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug3: receive packet: type 21
debug1: SSH2_MSG_NEWKEYS received
debug2: set_newkeys: mode 0
debug1: rekey after 4294967296 blocks
debug1: Will attempt key: /Users/sieler/.ssh/id_rsa RSA SHA256:2kIKCd[...]
debug1: Will attempt key: /Users/sieler/.ssh/id_dsa
debug1: Will attempt key: /Users/sieler/.ssh/id_ecdsa
debug1: Will attempt key: /Users/sieler/.ssh/id_ed25519
debug1: Will attempt key: /Users/sieler/.ssh/id_xmss
debug2: pubkey_prepare: done
debug3: send packet: type 5
debug3: receive packet: type 6
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /Users/sieler/.ssh/id_rsa RSA SHA256:2kIKCdm9l[...]
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 60
debug1: Server accepts key: /Users/sieler/.ssh/id_rsa RSA SHA256:2kIKCdm9l[...]
debug3: sign_and_send_pubkey: RSA SHA256:2kIKCdm9lMtJfy/HXckvn2r1Vq3JIbX[...]
debug3: sign_and_send_pubkey: signing using ssh-rsa
debug3: send packet: type 50
debug3: receive packet: type 52
debug1: Authentication succeeded (publickey).
Authenticated to ozma ([10.84.3.15]:22).
debug2: fd 6 setting O_NONBLOCK
debug2: fd 7 setting O_NONBLOCK
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug3: send packet: type 90
debug1: Requesting [email protected]
debug3: send packet: type 80
debug1: Entering interactive session.
debug1: pledge: network
debug3: receive packet: type 91
debug2: channel_input_open_confirmation: channel 0: callback start
debug2: fd 5 setting TCP_NODELAY
debug3: ssh_packet_set_tos: set IP_TOS 0x20
debug2: client_session2_setup: id 0
debug1: Sending environment.
debug3: Ignored env TERM_PROGRAM
debug3: Ignored env SHELL
debug3: Ignored env TERM
debug3: Ignored env TMPDIR
debug3: Ignored env Apple_PubSub_Socket_Render
debug3: Ignored env TERM_PROGRAM_VERSION
debug3: Ignored env OLDPWD
debug3: Ignored env TERM_SESSION_ID
debug3: Ignored env CDPATH
debug3: Ignored env USER
debug3: Ignored env SSH_AUTH_SOCK
debug3: Ignored env COLS
debug3: Ignored env COLUMNS
debug3: Ignored env PATH
debug3: Ignored env EXINIT
debug3: Ignored env PWD
debug1: Sending env LANG = en_US.UTF-8
debug2: channel 0: request env confirm 0
debug3: send packet: type 98
debug3: Ignored env XPC_FLAGS
debug3: Ignored env LINES
debug3: Ignored env XPC_SERVICE_NAME
debug3: Ignored env SHLVL
debug3: Ignored env HOME
debug3: Ignored env LOGNAME
debug3: Ignored env BASH_FUNC_prman%%
debug3: Ignored env _
debug3: Ignored env __CF_USER_TEXT_ENCODING
debug1: Sending command: scp -f source/rose/cxform
debug2: channel 0: request exec confirm 1
debug3: send packet: type 98
debug2: channel_input_open_confirmation: channel 0: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel 0: rcvd adjust 65536
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 0
debug2: exec request accepted on channel 0
cxform 0% 0 0.0KB/s --:-- ETAdebug2: channel 0: window 1998827 sent adjust 98325
debug2: channel 0: window 1990656 sent adjust 106496
debug2: channel 0: window 1966080 sent adjust 131072
debug2: channel 0: window 1966080 sent adjust 131072
debug2: channel 0: window 1966080 sent adjust 131072
debug2: channel 0: window 1966080 sent adjust 131072
debug2: channel 0: window 1966080 sent adjust 131072
debug2: channel 0: window 1966080 sent adjust 131072
<--- first difference. Good session had another "sent adjust" like the above line
debug3: send packet: type 1
debug1: channel 0: free: client-session, nchannels 1
debug3: channel 0: status: The following connections are open:
#0 client-session (t4 r0 i0/0 o0/0 e[write]/0 fd 6/7/8 sock -1 cc -1)
debug1: fd 0 clearing O_NONBLOCK
debug3: fd 1 is not O_NONBLOCK
Connection to ozma closed by remote host.
Broken pipeTransferred: sent 3004, received 1092812 bytes, in 1.0 seconds
Bytes per second: sent 2982.7, received 1085052.8
debug1: Exit status -1
sf:tt sieler$
'''
良好会话的踪迹(部分,来自差异点):“”
debug2: channel 0: window 1966080 sent adjust 131072
tapesd 100% 1123KB 1.1MB/s 00:01
debug3: receive packet: type 98
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug3: receive packet: type 98
debug1: client_input_channel_req: channel 0 rtype [email protected] reply 0
debug2: channel 0: rcvd eow
debug2: channel 0: chan_shutdown_read (i0 o0 sock -1 wfd 6 efd 8 [write])
debug2: channel 0: input open -> closed
debug3: receive packet: type 96
debug2: channel 0: rcvd eof
debug2: channel 0: output open -> drain
debug2: channel 0: obuf empty
debug2: channel 0: chan_shutdown_write (i3 o1 sock -1 wfd 7 efd 8 [write])
debug2: channel 0: output drain -> closed
debug3: receive packet: type 97
debug2: channel 0: rcvd close
debug3: channel 0: will not send data after close
debug2: channel 0: almost dead
debug2: channel 0: gc: notify user
debug2: channel 0: gc: user detached
debug2: channel 0: send close
debug3: send packet: type 97
debug2: channel 0: is dead
debug2: channel 0: garbage collecting
debug1: channel 0: free: client-session, nchannels 1
debug3: channel 0: status: The following connections are open:
#0 client-session (t4 r0 i3/0 o3/0 e[write]/0 fd -1/-1/8 sock -1 cc -1)
debug3: send packet: type 1
debug1: fd 0 clearing O_NONBLOCK
debug3: fd 1 is not O_NONBLOCK
Transferred: sent 3064, received 1153540 bytes, in 1.2 seconds
Bytes per second: sent 2490.8, received 937736.8
debug1: Exit status 0
sf:tt sieler$
'''
谢谢!
答案1
看起来远程端正在终止连接。我猜是链中某个地方超时了 - 可能是主机上有需要调整的 SSHD 设置osma
?
否则,您是否尝试过使用rsync
而不是scp
?它支持恢复传输,因此即使您必须多次运行该命令,它最终也会到达那里。