上传大文件停止在 1GB gaufrette phpseclinb
Upload big file stop at 1GB gaufrette phpseclinb
我正在尝试使用 gaufrette 和 phpseclib 在服务器 sftp 之间简单地复制文件。
本地适配器服务器发送超过 1GB 没有问题。如果我正在尝试发送远程总是停止在 1GB 日志看起来像
00000fe0 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 ................
00000ff0 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 ................
00001000 00:00:00:00:00:00:00:00 ........
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:01:00:00:00:00:1c:00:00:00:18:65:00:00:00 ............e...
00000010 01:00:00:00:00:00:00:00:07:53:75:63:63:65:73:73 .........Success
00000020 00:00:00:00 ....
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:01:00:00:00:00:1c:00:00:00:18:65:00:00:00 ............e...
00000010 01:00:00:00:00:00:00:00:07:53:75:63:63:65:73:73 .........Success
00000020 00:00:00:00 ....
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:01:00:00:00:00:1c:00:00:00:18:65:00:00:00 ............e...
00000010 01:00:00:00:00:00:00:00:07:53:75:63:63:65:73:73 .........Success
00000020 00:00:00:00 ....
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:01:00:00:00:00:1c:00:00:00:18:65:00:00:00 ............e...
00000010 01:00:00:00:00:00:00:00:07:53:75:63:63:65:73:73 .........Success
00000020 00:00:00:00 ....
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:01:00:00:00:00:1c:00:00:00:18:65:00:00:00 ............e...
00000010 01:00:00:00:00:00:00:00:07:53:75:63:63:65:73:73 .........Success
00000020 00:00:00:00 ....
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:01:00:00:00:00:1c:00:00:00:18:65:00:00:00 ............e...
00000010 01:00:00:00:00:00:00:00:07:53:75:63:63:65:73:73 .........Success
00000020 00:00:00:00 ....
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:01:00:00:00:00:1c:00:00:00:18:65:00:00:00 ............e...
00000010 01:00:00:00:00:00:00:00:07:53:75:63:63:65:73:73 .........Success
00000020 00:00:00:00 ....
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0009, network: 0.0008s)
00000000 00:00:01:00:00:00:00:1c:00:00:00:18:65:00:00:00 ............e...
00000010 01:00:00:00:00:00:00:00:07:53:75:63:63:65:73:73 .........Success
00000020 00:00:00:00 ....
<- NET_SSH2_MSG_KEXINIT (since last: 0.0001, network: 0s)
00000000 d3:0d:5e:69:3d:0d:7f:e8:13:a6:fd:85:f6:05:3c:02 ..^i=...........
00000010 00:00:00:d4:63:75:72:76:65:32:35:35:31:39:2d:73 ....curve25519-s
00000020 68:61:32:35:36:40:6c:69:62:73:73:68:2e:6f:72:67 ha256@libssh.org
00000030 2c:65:63:64:68:2d:73:68:61:32:2d:6e:69:73:74:70 ,ecdh-sha2-nistp
00000040 32:35:36:2c:65:63:64:68:2d:73:68:61:32:2d:6e:69 256,ecdh-sha2-ni
00000050 73:74:70:33:38:34:2c:65:63:64:68:2d:73:68:61:32 stp384,ecdh-sha2
00000060 2d:6e:69:73:74:70:35:32:31:2c:64:69:66:66:69:65 -nistp521,diffie
00000070 2d:68:65:6c:6c:6d:61:6e:2d:67:72:6f:75:70:2d:65 -hellman-group-e
00000080 78:63:68:61:6e:67:65:2d:73:68:61:32:35:36:2c:64 xchange-sha256,d
00000090 69:66:66:69:65:2d:68:65:6c:6c:6d:61:6e:2d:67:72 iffie-hellman-gr
000000a0 6f:75:70:2d:65:78:63:68:61:6e:67:65:2d:73:68:61 oup-exchange-sha
000000b0 31:2c:64:69:66:66:69:65:2d:68:65:6c:6c:6d:61:6e 1,diffie-hellman
000000c0 2d:67:72:6f:75:70:31:34:2d:73:68:61:31:2c:64:69 -group14-sha1,di
000000d0 66:66:69:65:2d:68:65:6c:6c:6d:61:6e:2d:67:72:6f ffie-hellman-gro
000000e0 75:70:31:2d:73:68:61:31:00:00:00:27:73:73:68:2d up1-sha1...'ssh-
000000f0 72:73:61:2c:65:63:64:73:61:2d:73:68:61:32:2d:6e rsa,ecdsa-sha2-n
00000100 69:73:74:70:32:35:36:2c:73:73:68:2d:65:64:32:35 istp256,ssh-ed25
00000110 35:31:39:00:00:00:e9:61:65:73:31:32:38:2d:63:74 519....aes128-ct
00000120 72:2c:61:65:73:31:39:32:2d:63:74:72:2c:61:65:73 r,aes192-ctr,aes
00000130 32:35:36:2d:63:74:72:2c:61:72:63:66:6f:75:72:32 256-ctr,arcfour2
00000140 35:36:2c:61:72:63:66:6f:75:72:31:32:38:2c:61:65 56,arcfour128,ae
00000150 73:31:32:38:2d:67:63:6d:40:6f:70:65:6e:73:73:68 s128-gcm@openssh
00000160 2e:63:6f:6d:2c:61:65:73:32:35:36:2d:67:63:6d:40 .com,aes256-gcm@
00000170 6f:70:65:6e:73:73:68:2e:63:6f:6d:2c:63:68:61:63 openssh.com,chac
00000180 68:61:32:30:2d:70:6f:6c:79:31:33:30:35:40:6f:70 ha20-poly1305@op
00000190 65:6e:73:73:68:2e:63:6f:6d:2c:61:65:73:31:32:38 enssh.com,aes128
000001a0 2d:63:62:63:2c:33:64:65:73:2d:63:62:63:2c:62:6c -cbc,3des-cbc,bl
000001b0 6f:77:66:69:73:68:2d:63:62:63:2c:63:61:73:74:31 owfish-cbc,cast1
000001c0 32:38:2d:63:62:63:2c:61:65:73:31:39:32:2d:63:62 28-cbc,aes192-cb
000001d0 63:2c:61:65:73:32:35:36:2d:63:62:63:2c:61:72:63 c,aes256-cbc,arc
000001e0 66:6f:75:72:2c:72:69:6a:6e:64:61:65:6c:2d:63:62 four,rijndael-cb
000001f0 63:40:6c:79:73:61:74:6f:72:2e:6c:69:75:2e:73:65 c@lysator.liu.se
00000200 00:00:00:e9:61:65:73:31:32:38:2d:63:74:72:2c:61 ....aes128-ctr,a
00000210 65:73:31:39:32:2d:63:74:72:2c:61:65:73:32:35:36 es192-ctr,aes256
00000220 2d:63:74:72:2c:61:72:63:66:6f:75:72:32:35:36:2c -ctr,arcfour256,
00000230 61:72:63:66:6f:75:72:31:32:38:2c:61:65:73:31:32 arcfour128,aes12
00000240 38:2d:67:63:6d:40:6f:70:65:6e:73:73:68:2e:63:6f 8-gcm@openssh.co
00000250 6d:2c:61:65:73:32:35:36:2d:67:63:6d:40:6f:70:65 m,aes256-gcm@ope
00000260 6e:73:73:68:2e:63:6f:6d:2c:63:68:61:63:68:61:32 nssh.com,chacha2
00000270 30:2d:70:6f:6c:79:31:33:30:35:40:6f:70:65:6e:73 0-poly1305@opens
00000280 73:68:2e:63:6f:6d:2c:61:65:73:31:32:38:2d:63:62 sh.com,aes128-cb
00000290 63:2c:33:64:65:73:2d:63:62:63:2c:62:6c:6f:77:66 c,3des-cbc,blowf
000002a0 69:73:68:2d:63:62:63:2c:63:61:73:74:31:32:38:2d ish-cbc,cast128-
000002b0 63:62:63:2c:61:65:73:31:39:32:2d:63:62:63:2c:61 cbc,aes192-cbc,a
000002c0 65:73:32:35:36:2d:63:62:63:2c:61:72:63:66:6f:75 es256-cbc,arcfou
000002d0 72:2c:72:69:6a:6e:64:61:65:6c:2d:63:62:63:40:6c r,rijndael-cbc@l
000002e0 79:73:61:74:6f:72:2e:6c:69:75:2e:73:65:00:00:01 ysator.liu.se...
000002f0 92:68:6d:61:63:2d:6d:64:35:2d:65:74:6d:40:6f:70 .hmac-md5-etm@op
00000300 65:6e:73:73:68:2e:63:6f:6d:2c:68:6d:61:63:2d:73 enssh.com,hmac-s
00000310 68:61:31:2d:65:74:6d:40:6f:70:65:6e:73:73:68:2e ha1-etm@openssh.
00000320 63:6f:6d:2c:75:6d:61:63:2d:36:34:2d:65:74:6d:40 com,umac-64-etm@
00000330 6f:70:65:6e:73:73:68:2e:63:6f:6d:2c:75:6d:61:63 openssh.com,umac
00000340 2d:31:32:38:2d:65:74:6d:40:6f:70:65:6e:73:73:68 -128-etm@openssh
00000350 2e:63:6f:6d:2c:68:6d:61:63:2d:73:68:61:32:2d:32 .com,hmac-sha2-2
00000360 35:36:2d:65:74:6d:40:6f:70:65:6e:73:73:68:2e:63 56-etm@openssh.c
00000370 6f:6d:2c:68:6d:61:63:2d:73:68:61:32:2d:35:31:32 om,hmac-sha2-512
00000380 2d:65:74:6d:40:6f:70:65:6e:73:73:68:2e:63:6f:6d -etm@openssh.com
00000390 2c:68:6d:61:63:2d:72:69:70:65:6d:64:31:36:30:2d ,hmac-ripemd160-
000003a0 65:74:6d:40:6f:70:65:6e:73:73:68:2e:63:6f:6d:2c etm@openssh.com,
000003b0 68:6d:61:63:2d:73:68:61:31:2d:39:36:2d:65:74:6d hmac-sha1-96-etm
000003c0 40:6f:70:65:6e:73:73:68:2e:63:6f:6d:2c:68:6d:61 @openssh.com,hma
000003d0 63:2d:6d:64:35:2d:39:36:2d:65:74:6d:40:6f:70:65 c-md5-96-etm@ope
000003e0 6e:73:73:68:2e:63:6f:6d:2c:68:6d:61:63:2d:6d:64 nssh.com,hmac-md
000003f0 35:2c:68:6d:61:63:2d:73:68:61:31:2c:75:6d:61:63 5,hmac-sha1,umac
00000400 2d:36:34:40:6f:70:65:6e:73:73:68:2e:63:6f:6d:2c -64@openssh.com,
00000410 75:6d:61:63:2d:31:32:38:40:6f:70:65:6e:73:73:68 umac-128@openssh
00000420 2e:63:6f:6d:2c:68:6d:61:63:2d:73:68:61:32:2d:32 .com,hmac-sha2-2
00000430 35:36:2c:68:6d:61:63:2d:73:68:61:32:2d:35:31:32 56,hmac-sha2-512
00000440 2c:68:6d:61:63:2d:72:69:70:65:6d:64:31:36:30:2c ,hmac-ripemd160,
00000450 68:6d:61:63:2d:72:69:70:65:6d:64:31:36:30:40:6f hmac-ripemd160@o
00000460 70:65:6e:73:73:68:2e:63:6f:6d:2c:68:6d:61:63:2d penssh.com,hmac-
00000470 73:68:61:31:2d:39:36:2c:68:6d:61:63:2d:6d:64:35 sha1-96,hmac-md5
00000480 2d:39:36:00:00:01:92:68:6d:61:63:2d:6d:64:35:2d -96....hmac-md5-
00000490 65:74:6d:40:6f:70:65:6e:73:73:68:2e:63:6f:6d:2c etm@openssh.com,
000004a0 68:6d:61:63:2d:73:68:61:31:2d:65:74:6d:40:6f:70 hmac-sha1-etm@op
000004b0 65:6e:73:73:68:2e:63:6f:6d:2c:75:6d:61:63:2d:36 enssh.com,umac-6
000004c0 34:2d:65:74:6d:40:6f:70:65:6e:73:73:68:2e:63:6f 4-etm@openssh.co
000004d0 6d:2c:75:6d:61:63:2d:31:32:38:2d:65:74:6d:40:6f m,umac-128-etm@o
000004e0 70:65:6e:73:73:68:2e:63:6f:6d:2c:68:6d:61:63:2d penssh.com,hmac-
000004f0 73:68:61:32:2d:32:35:36:2d:65:74:6d:40:6f:70:65 sha2-256-etm@ope
00000500 6e:73:73:68:2e:63:6f:6d:2c:68:6d:61:63:2d:73:68 nssh.com,hmac-sh
00000510 61:32:2d:35:31:32:2d:65:74:6d:40:6f:70:65:6e:73 a2-512-etm@opens
00000520 73:68:2e:63:6f:6d:2c:68:6d:61:63:2d:72:69:70:65 sh.com,hmac-ripe
00000530 6d:64:31:36:30:2d:65:74:6d:40:6f:70:65:6e:73:73 md160-etm@openss
00000540 68:2e:63:6f:6d:2c:68:6d:61:63:2d:73:68:61:31:2d h.com,hmac-sha1-
00000550 39:36:2d:65:74:6d:40:6f:70:65:6e:73:73:68:2e:63 96-etm@openssh.c
00000560 6f:6d:2c:68:6d:61:63:2d:6d:64:35:2d:39:36:2d:65 om,hmac-md5-96-e
00000570 74:6d:40:6f:70:65:6e:73:73:68:2e:63:6f:6d:2c:68 tm@openssh.com,h
00000580 6d:61:63:2d:6d:64:35:2c:68:6d:61:63:2d:73:68:61 mac-md5,hmac-sha
00000590 31:2c:75:6d:61:63:2d:36:34:40:6f:70:65:6e:73:73 1,umac-64@openss
000005a0 68:2e:63:6f:6d:2c:75:6d:61:63:2d:31:32:38:40:6f h.com,umac-128@o
000005b0 70:65:6e:73:73:68:2e:63:6f:6d:2c:68:6d:61:63:2d penssh.com,hmac-
000005c0 73:68:61:32:2d:32:35:36:2c:68:6d:61:63:2d:73:68 sha2-256,hmac-sh
000005d0 61:32:2d:35:31:32:2c:68:6d:61:63:2d:72:69:70:65 a2-512,hmac-ripe
000005e0 6d:64:31:36:30:2c:68:6d:61:63:2d:72:69:70:65:6d md160,hmac-ripem
000005f0 64:31:36:30:40:6f:70:65:6e:73:73:68:2e:63:6f:6d d160@openssh.com
00000600 2c:68:6d:61:63:2d:73:68:61:31:2d:39:36:2c:68:6d ,hmac-sha1-96,hm
00000610 61:63:2d:6d:64:35:2d:39:36:00:00:00:15:6e:6f:6e ac-md5-96....non
00000620 65:2c:7a:6c:69:62:40:6f:70:65:6e:73:73:68:2e:63 e,zlib@openssh.c
00000630 6f:6d:00:00:00:15:6e:6f:6e:65:2c:7a:6c:69:62:40 om....none,zlib@
00000640 6f:70:65:6e:73:73:68:2e:63:6f:6d:00:00:00:00:00 openssh.com.....
00000650 00:00:00:00:00:00:00:00 ........
-> NET_SSH2_MSG_KEXINIT (since last: 0.0001, network: 0s)
00000000 e0:dc:b7:cf:3a:4a:e8:be:96:1e:ec:59:03:39:8e:8e ....:J.....Y.9..
00000010 00:00:00:7e:64:69:66:66:69:65:2d:68:65:6c:6c:6d ...~diffie-hellm
00000020 61:6e:2d:67:72:6f:75:70:31:2d:73:68:61:31:2c:64 an-group1-sha1,d
00000030 69:66:66:69:65:2d:68:65:6c:6c:6d:61:6e:2d:67:72 iffie-hellman-gr
00000040 6f:75:70:31:34:2d:73:68:61:31:2c:64:69:66:66:69 oup14-sha1,diffi
00000050 65:2d:68:65:6c:6c:6d:61:6e:2d:67:72:6f:75:70:2d e-hellman-group-
00000060 65:78:63:68:61:6e:67:65:2d:73:68:61:31:2c:64:69 exchange-sha1,di
00000070 66:66:69:65:2d:68:65:6c:6c:6d:61:6e:2d:67:72:6f ffie-hellman-gro
00000080 75:70:2d:65:78:63:68:61:6e:67:65:2d:73:68:61:32 up-exchange-sha2
00000090 35:36:00:00:00:0f:73:73:68:2d:72:73:61:2c:73:73 56....ssh-rsa,ss
000000a0 68:2d:64:73:73:00:00:00:e9:61:72:63:66:6f:75:72 h-dss....arcfour
000000b0 32:35:36:2c:61:72:63:66:6f:75:72:31:32:38:2c:61 256,arcfour128,a
000000c0 65:73:31:32:38:2d:63:74:72:2c:61:65:73:31:39:32 es128-ctr,aes192
000000d0 2d:63:74:72:2c:61:65:73:32:35:36:2d:63:74:72:2c -ctr,aes256-ctr,
000000e0 74:77:6f:66:69:73:68:31:32:38:2d:63:74:72:2c:74 twofish128-ctr,t
000000f0 77:6f:66:69:73:68:31:39:32:2d:63:74:72:2c:74:77 wofish192-ctr,tw
00000100 6f:66:69:73:68:32:35:36:2d:63:74:72:2c:61:65:73 ofish256-ctr,aes
00000110 31:32:38:2d:63:62:63:2c:61:65:73:31:39:32:2d:63 128-cbc,aes192-c
00000120 62:63:2c:61:65:73:32:35:36:2d:63:62:63:2c:74:77 bc,aes256-cbc,tw
00000130 6f:66:69:73:68:31:32:38:2d:63:62:63:2c:74:77:6f ofish128-cbc,two
00000140 66:69:73:68:31:39:32:2d:63:62:63:2c:74:77:6f:66 fish192-cbc,twof
00000150 69:73:68:32:35:36:2d:63:62:63:2c:74:77:6f:66:69 ish256-cbc,twofi
00000160 73:68:2d:63:62:63:2c:62:6c:6f:77:66:69:73:68:2d sh-cbc,blowfish-
00000170 63:74:72:2c:62:6c:6f:77:66:69:73:68:2d:63:62:63 ctr,blowfish-cbc
00000180 2c:33:64:65:73:2d:63:74:72:2c:33:64:65:73:2d:63 ,3des-ctr,3des-c
00000190 62:63:00:00:00:e9:61:72:63:66:6f:75:72:32:35:36 bc....arcfour256
000001a0 2c:61:72:63:66:6f:75:72:31:32:38:2c:61:65:73:31 ,arcfour128,aes1
000001b0 32:38:2d:63:74:72:2c:61:65:73:31:39:32:2d:63:74 28-ctr,aes192-ct
000001c0 72:2c:61:65:73:32:35:36:2d:63:74:72:2c:74:77:6f r,aes256-ctr,two
000001d0 66:69:73:68:31:32:38:2d:63:74:72:2c:74:77:6f:66 fish128-ctr,twof
000001e0 69:73:68:31:39:32:2d:63:74:72:2c:74:77:6f:66:69 ish192-ctr,twofi
000001f0 73:68:32:35:36:2d:63:74:72:2c:61:65:73:31:32:38 sh256-ctr,aes128
00000200 2d:63:62:63:2c:61:65:73:31:39:32:2d:63:62:63:2c -cbc,aes192-cbc,
00000210 61:65:73:32:35:36:2d:63:62:63:2c:74:77:6f:66:69 aes256-cbc,twofi
00000220 73:68:31:32:38:2d:63:62:63:2c:74:77:6f:66:69:73 sh128-cbc,twofis
00000230 68:31:39:32:2d:63:62:63:2c:74:77:6f:66:69:73:68 h192-cbc,twofish
00000240 32:35:36:2d:63:62:63:2c:74:77:6f:66:69:73:68:2d 256-cbc,twofish-
00000250 63:62:63:2c:62:6c:6f:77:66:69:73:68:2d:63:74:72 cbc,blowfish-ctr
00000260 2c:62:6c:6f:77:66:69:73:68:2d:63:62:63:2c:33:64 ,blowfish-cbc,3d
00000270 65:73:2d:63:74:72:2c:33:64:65:73:2d:63:62:63:00 es-ctr,3des-cbc.
00000280 00:00:39:68:6d:61:63:2d:73:68:61:32:2d:32:35:36 ..9hmac-sha2-256
00000290 2c:68:6d:61:63:2d:73:68:61:31:2d:39:36:2c:68:6d ,hmac-sha1-96,hm
000002a0 61:63:2d:73:68:61:31:2c:68:6d:61:63:2d:6d:64:35 ac-sha1,hmac-md5
000002b0 2d:39:36:2c:68:6d:61:63:2d:6d:64:35:00:00:00:39 -96,hmac-md5...9
000002c0 68:6d:61:63:2d:73:68:61:32:2d:32:35:36:2c:68:6d hmac-sha2-256,hm
000002d0 61:63:2d:73:68:61:31:2d:39:36:2c:68:6d:61:63:2d ac-sha1-96,hmac-
000002e0 73:68:61:31:2c:68:6d:61:63:2d:6d:64:35:2d:39:36 sha1,hmac-md5-96
000002f0 2c:68:6d:61:63:2d:6d:64:35:00:00:00:04:6e:6f:6e ,hmac-md5....non
00000300 65:00:00:00:04:6e:6f:6e:65:00:00:00:00:00:00:00 e....none.......
00000310 00:00:00:00:00:00 ......
我已经测试过像 filezilla sftp 这样的连接,发送 1GB 以上没有问题,知道吗? Gaufrette 看起来没有太多选择可能是 phpseclib?
其次,虽然它可能是 SFTP 服务器问题,但如果是,我认为应该是通过 filezilla 发送文件的问题。
简答
这应该在最新的 git 版本的 phpseclib 中修复,提交:
https://github.com/phpseclib/phpseclib/commit/b50dde76f5683367e64e9f5e2936412d3168dad3
长答案
密钥重新交换失败。引用 RFC 4253 § 9:
It is RECOMMENDED that the keys be changed after each gigabyte of
transmitted data or after each hour of connection time, whichever
comes sooner. However, since the re-exchange is a public key
operation, it requires a fair amount of processing power and should
not be performed too often.
我能够使用以下 Vagrantfile 重现问题(并验证修复):
Vagrant.configure("2") do |config|
config.vm.box = "laravel/homestead"
config.vm.provision "shell", inline: <<-SHELL
printf "\n\nRekeyLimit 1K" >> /etc/ssh/sshd_config
service ssh restart
SHELL
end
此拉取请求似乎引入了此问题(在 2.0.6 和 2.0.7 版本之间合并):
https://github.com/phpseclib/phpseclib/pull/1162
理想情况下,为此存在一个单元测试,但 phpseclib 可能需要使用 Docker 进行单元测试,目前还没有。
服务器站点出现问题。我们在其他账号上测试过,没有问题。重新启动服务 sshd 并更新修复问题。
在我设置的所有日志中都没有错误:/。
管理员说可能是包损坏了,sftp 在 1GB 时停止了服务。更奇怪的是,如果我们用filezilla发送就没有问题。
我正在尝试使用 gaufrette 和 phpseclib 在服务器 sftp 之间简单地复制文件。 本地适配器服务器发送超过 1GB 没有问题。如果我正在尝试发送远程总是停止在 1GB 日志看起来像
00000fe0 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 ................
00000ff0 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 ................
00001000 00:00:00:00:00:00:00:00 ........
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:01:00:00:00:00:1c:00:00:00:18:65:00:00:00 ............e...
00000010 01:00:00:00:00:00:00:00:07:53:75:63:63:65:73:73 .........Success
00000020 00:00:00:00 ....
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:01:00:00:00:00:1c:00:00:00:18:65:00:00:00 ............e...
00000010 01:00:00:00:00:00:00:00:07:53:75:63:63:65:73:73 .........Success
00000020 00:00:00:00 ....
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:01:00:00:00:00:1c:00:00:00:18:65:00:00:00 ............e...
00000010 01:00:00:00:00:00:00:00:07:53:75:63:63:65:73:73 .........Success
00000020 00:00:00:00 ....
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:01:00:00:00:00:1c:00:00:00:18:65:00:00:00 ............e...
00000010 01:00:00:00:00:00:00:00:07:53:75:63:63:65:73:73 .........Success
00000020 00:00:00:00 ....
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:01:00:00:00:00:1c:00:00:00:18:65:00:00:00 ............e...
00000010 01:00:00:00:00:00:00:00:07:53:75:63:63:65:73:73 .........Success
00000020 00:00:00:00 ....
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:01:00:00:00:00:1c:00:00:00:18:65:00:00:00 ............e...
00000010 01:00:00:00:00:00:00:00:07:53:75:63:63:65:73:73 .........Success
00000020 00:00:00:00 ....
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:01:00:00:00:00:1c:00:00:00:18:65:00:00:00 ............e...
00000010 01:00:00:00:00:00:00:00:07:53:75:63:63:65:73:73 .........Success
00000020 00:00:00:00 ....
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0009, network: 0.0008s)
00000000 00:00:01:00:00:00:00:1c:00:00:00:18:65:00:00:00 ............e...
00000010 01:00:00:00:00:00:00:00:07:53:75:63:63:65:73:73 .........Success
00000020 00:00:00:00 ....
<- NET_SSH2_MSG_KEXINIT (since last: 0.0001, network: 0s)
00000000 d3:0d:5e:69:3d:0d:7f:e8:13:a6:fd:85:f6:05:3c:02 ..^i=...........
00000010 00:00:00:d4:63:75:72:76:65:32:35:35:31:39:2d:73 ....curve25519-s
00000020 68:61:32:35:36:40:6c:69:62:73:73:68:2e:6f:72:67 ha256@libssh.org
00000030 2c:65:63:64:68:2d:73:68:61:32:2d:6e:69:73:74:70 ,ecdh-sha2-nistp
00000040 32:35:36:2c:65:63:64:68:2d:73:68:61:32:2d:6e:69 256,ecdh-sha2-ni
00000050 73:74:70:33:38:34:2c:65:63:64:68:2d:73:68:61:32 stp384,ecdh-sha2
00000060 2d:6e:69:73:74:70:35:32:31:2c:64:69:66:66:69:65 -nistp521,diffie
00000070 2d:68:65:6c:6c:6d:61:6e:2d:67:72:6f:75:70:2d:65 -hellman-group-e
00000080 78:63:68:61:6e:67:65:2d:73:68:61:32:35:36:2c:64 xchange-sha256,d
00000090 69:66:66:69:65:2d:68:65:6c:6c:6d:61:6e:2d:67:72 iffie-hellman-gr
000000a0 6f:75:70:2d:65:78:63:68:61:6e:67:65:2d:73:68:61 oup-exchange-sha
000000b0 31:2c:64:69:66:66:69:65:2d:68:65:6c:6c:6d:61:6e 1,diffie-hellman
000000c0 2d:67:72:6f:75:70:31:34:2d:73:68:61:31:2c:64:69 -group14-sha1,di
000000d0 66:66:69:65:2d:68:65:6c:6c:6d:61:6e:2d:67:72:6f ffie-hellman-gro
000000e0 75:70:31:2d:73:68:61:31:00:00:00:27:73:73:68:2d up1-sha1...'ssh-
000000f0 72:73:61:2c:65:63:64:73:61:2d:73:68:61:32:2d:6e rsa,ecdsa-sha2-n
00000100 69:73:74:70:32:35:36:2c:73:73:68:2d:65:64:32:35 istp256,ssh-ed25
00000110 35:31:39:00:00:00:e9:61:65:73:31:32:38:2d:63:74 519....aes128-ct
00000120 72:2c:61:65:73:31:39:32:2d:63:74:72:2c:61:65:73 r,aes192-ctr,aes
00000130 32:35:36:2d:63:74:72:2c:61:72:63:66:6f:75:72:32 256-ctr,arcfour2
00000140 35:36:2c:61:72:63:66:6f:75:72:31:32:38:2c:61:65 56,arcfour128,ae
00000150 73:31:32:38:2d:67:63:6d:40:6f:70:65:6e:73:73:68 s128-gcm@openssh
00000160 2e:63:6f:6d:2c:61:65:73:32:35:36:2d:67:63:6d:40 .com,aes256-gcm@
00000170 6f:70:65:6e:73:73:68:2e:63:6f:6d:2c:63:68:61:63 openssh.com,chac
00000180 68:61:32:30:2d:70:6f:6c:79:31:33:30:35:40:6f:70 ha20-poly1305@op
00000190 65:6e:73:73:68:2e:63:6f:6d:2c:61:65:73:31:32:38 enssh.com,aes128
000001a0 2d:63:62:63:2c:33:64:65:73:2d:63:62:63:2c:62:6c -cbc,3des-cbc,bl
000001b0 6f:77:66:69:73:68:2d:63:62:63:2c:63:61:73:74:31 owfish-cbc,cast1
000001c0 32:38:2d:63:62:63:2c:61:65:73:31:39:32:2d:63:62 28-cbc,aes192-cb
000001d0 63:2c:61:65:73:32:35:36:2d:63:62:63:2c:61:72:63 c,aes256-cbc,arc
000001e0 66:6f:75:72:2c:72:69:6a:6e:64:61:65:6c:2d:63:62 four,rijndael-cb
000001f0 63:40:6c:79:73:61:74:6f:72:2e:6c:69:75:2e:73:65 c@lysator.liu.se
00000200 00:00:00:e9:61:65:73:31:32:38:2d:63:74:72:2c:61 ....aes128-ctr,a
00000210 65:73:31:39:32:2d:63:74:72:2c:61:65:73:32:35:36 es192-ctr,aes256
00000220 2d:63:74:72:2c:61:72:63:66:6f:75:72:32:35:36:2c -ctr,arcfour256,
00000230 61:72:63:66:6f:75:72:31:32:38:2c:61:65:73:31:32 arcfour128,aes12
00000240 38:2d:67:63:6d:40:6f:70:65:6e:73:73:68:2e:63:6f 8-gcm@openssh.co
00000250 6d:2c:61:65:73:32:35:36:2d:67:63:6d:40:6f:70:65 m,aes256-gcm@ope
00000260 6e:73:73:68:2e:63:6f:6d:2c:63:68:61:63:68:61:32 nssh.com,chacha2
00000270 30:2d:70:6f:6c:79:31:33:30:35:40:6f:70:65:6e:73 0-poly1305@opens
00000280 73:68:2e:63:6f:6d:2c:61:65:73:31:32:38:2d:63:62 sh.com,aes128-cb
00000290 63:2c:33:64:65:73:2d:63:62:63:2c:62:6c:6f:77:66 c,3des-cbc,blowf
000002a0 69:73:68:2d:63:62:63:2c:63:61:73:74:31:32:38:2d ish-cbc,cast128-
000002b0 63:62:63:2c:61:65:73:31:39:32:2d:63:62:63:2c:61 cbc,aes192-cbc,a
000002c0 65:73:32:35:36:2d:63:62:63:2c:61:72:63:66:6f:75 es256-cbc,arcfou
000002d0 72:2c:72:69:6a:6e:64:61:65:6c:2d:63:62:63:40:6c r,rijndael-cbc@l
000002e0 79:73:61:74:6f:72:2e:6c:69:75:2e:73:65:00:00:01 ysator.liu.se...
000002f0 92:68:6d:61:63:2d:6d:64:35:2d:65:74:6d:40:6f:70 .hmac-md5-etm@op
00000300 65:6e:73:73:68:2e:63:6f:6d:2c:68:6d:61:63:2d:73 enssh.com,hmac-s
00000310 68:61:31:2d:65:74:6d:40:6f:70:65:6e:73:73:68:2e ha1-etm@openssh.
00000320 63:6f:6d:2c:75:6d:61:63:2d:36:34:2d:65:74:6d:40 com,umac-64-etm@
00000330 6f:70:65:6e:73:73:68:2e:63:6f:6d:2c:75:6d:61:63 openssh.com,umac
00000340 2d:31:32:38:2d:65:74:6d:40:6f:70:65:6e:73:73:68 -128-etm@openssh
00000350 2e:63:6f:6d:2c:68:6d:61:63:2d:73:68:61:32:2d:32 .com,hmac-sha2-2
00000360 35:36:2d:65:74:6d:40:6f:70:65:6e:73:73:68:2e:63 56-etm@openssh.c
00000370 6f:6d:2c:68:6d:61:63:2d:73:68:61:32:2d:35:31:32 om,hmac-sha2-512
00000380 2d:65:74:6d:40:6f:70:65:6e:73:73:68:2e:63:6f:6d -etm@openssh.com
00000390 2c:68:6d:61:63:2d:72:69:70:65:6d:64:31:36:30:2d ,hmac-ripemd160-
000003a0 65:74:6d:40:6f:70:65:6e:73:73:68:2e:63:6f:6d:2c etm@openssh.com,
000003b0 68:6d:61:63:2d:73:68:61:31:2d:39:36:2d:65:74:6d hmac-sha1-96-etm
000003c0 40:6f:70:65:6e:73:73:68:2e:63:6f:6d:2c:68:6d:61 @openssh.com,hma
000003d0 63:2d:6d:64:35:2d:39:36:2d:65:74:6d:40:6f:70:65 c-md5-96-etm@ope
000003e0 6e:73:73:68:2e:63:6f:6d:2c:68:6d:61:63:2d:6d:64 nssh.com,hmac-md
000003f0 35:2c:68:6d:61:63:2d:73:68:61:31:2c:75:6d:61:63 5,hmac-sha1,umac
00000400 2d:36:34:40:6f:70:65:6e:73:73:68:2e:63:6f:6d:2c -64@openssh.com,
00000410 75:6d:61:63:2d:31:32:38:40:6f:70:65:6e:73:73:68 umac-128@openssh
00000420 2e:63:6f:6d:2c:68:6d:61:63:2d:73:68:61:32:2d:32 .com,hmac-sha2-2
00000430 35:36:2c:68:6d:61:63:2d:73:68:61:32:2d:35:31:32 56,hmac-sha2-512
00000440 2c:68:6d:61:63:2d:72:69:70:65:6d:64:31:36:30:2c ,hmac-ripemd160,
00000450 68:6d:61:63:2d:72:69:70:65:6d:64:31:36:30:40:6f hmac-ripemd160@o
00000460 70:65:6e:73:73:68:2e:63:6f:6d:2c:68:6d:61:63:2d penssh.com,hmac-
00000470 73:68:61:31:2d:39:36:2c:68:6d:61:63:2d:6d:64:35 sha1-96,hmac-md5
00000480 2d:39:36:00:00:01:92:68:6d:61:63:2d:6d:64:35:2d -96....hmac-md5-
00000490 65:74:6d:40:6f:70:65:6e:73:73:68:2e:63:6f:6d:2c etm@openssh.com,
000004a0 68:6d:61:63:2d:73:68:61:31:2d:65:74:6d:40:6f:70 hmac-sha1-etm@op
000004b0 65:6e:73:73:68:2e:63:6f:6d:2c:75:6d:61:63:2d:36 enssh.com,umac-6
000004c0 34:2d:65:74:6d:40:6f:70:65:6e:73:73:68:2e:63:6f 4-etm@openssh.co
000004d0 6d:2c:75:6d:61:63:2d:31:32:38:2d:65:74:6d:40:6f m,umac-128-etm@o
000004e0 70:65:6e:73:73:68:2e:63:6f:6d:2c:68:6d:61:63:2d penssh.com,hmac-
000004f0 73:68:61:32:2d:32:35:36:2d:65:74:6d:40:6f:70:65 sha2-256-etm@ope
00000500 6e:73:73:68:2e:63:6f:6d:2c:68:6d:61:63:2d:73:68 nssh.com,hmac-sh
00000510 61:32:2d:35:31:32:2d:65:74:6d:40:6f:70:65:6e:73 a2-512-etm@opens
00000520 73:68:2e:63:6f:6d:2c:68:6d:61:63:2d:72:69:70:65 sh.com,hmac-ripe
00000530 6d:64:31:36:30:2d:65:74:6d:40:6f:70:65:6e:73:73 md160-etm@openss
00000540 68:2e:63:6f:6d:2c:68:6d:61:63:2d:73:68:61:31:2d h.com,hmac-sha1-
00000550 39:36:2d:65:74:6d:40:6f:70:65:6e:73:73:68:2e:63 96-etm@openssh.c
00000560 6f:6d:2c:68:6d:61:63:2d:6d:64:35:2d:39:36:2d:65 om,hmac-md5-96-e
00000570 74:6d:40:6f:70:65:6e:73:73:68:2e:63:6f:6d:2c:68 tm@openssh.com,h
00000580 6d:61:63:2d:6d:64:35:2c:68:6d:61:63:2d:73:68:61 mac-md5,hmac-sha
00000590 31:2c:75:6d:61:63:2d:36:34:40:6f:70:65:6e:73:73 1,umac-64@openss
000005a0 68:2e:63:6f:6d:2c:75:6d:61:63:2d:31:32:38:40:6f h.com,umac-128@o
000005b0 70:65:6e:73:73:68:2e:63:6f:6d:2c:68:6d:61:63:2d penssh.com,hmac-
000005c0 73:68:61:32:2d:32:35:36:2c:68:6d:61:63:2d:73:68 sha2-256,hmac-sh
000005d0 61:32:2d:35:31:32:2c:68:6d:61:63:2d:72:69:70:65 a2-512,hmac-ripe
000005e0 6d:64:31:36:30:2c:68:6d:61:63:2d:72:69:70:65:6d md160,hmac-ripem
000005f0 64:31:36:30:40:6f:70:65:6e:73:73:68:2e:63:6f:6d d160@openssh.com
00000600 2c:68:6d:61:63:2d:73:68:61:31:2d:39:36:2c:68:6d ,hmac-sha1-96,hm
00000610 61:63:2d:6d:64:35:2d:39:36:00:00:00:15:6e:6f:6e ac-md5-96....non
00000620 65:2c:7a:6c:69:62:40:6f:70:65:6e:73:73:68:2e:63 e,zlib@openssh.c
00000630 6f:6d:00:00:00:15:6e:6f:6e:65:2c:7a:6c:69:62:40 om....none,zlib@
00000640 6f:70:65:6e:73:73:68:2e:63:6f:6d:00:00:00:00:00 openssh.com.....
00000650 00:00:00:00:00:00:00:00 ........
-> NET_SSH2_MSG_KEXINIT (since last: 0.0001, network: 0s)
00000000 e0:dc:b7:cf:3a:4a:e8:be:96:1e:ec:59:03:39:8e:8e ....:J.....Y.9..
00000010 00:00:00:7e:64:69:66:66:69:65:2d:68:65:6c:6c:6d ...~diffie-hellm
00000020 61:6e:2d:67:72:6f:75:70:31:2d:73:68:61:31:2c:64 an-group1-sha1,d
00000030 69:66:66:69:65:2d:68:65:6c:6c:6d:61:6e:2d:67:72 iffie-hellman-gr
00000040 6f:75:70:31:34:2d:73:68:61:31:2c:64:69:66:66:69 oup14-sha1,diffi
00000050 65:2d:68:65:6c:6c:6d:61:6e:2d:67:72:6f:75:70:2d e-hellman-group-
00000060 65:78:63:68:61:6e:67:65:2d:73:68:61:31:2c:64:69 exchange-sha1,di
00000070 66:66:69:65:2d:68:65:6c:6c:6d:61:6e:2d:67:72:6f ffie-hellman-gro
00000080 75:70:2d:65:78:63:68:61:6e:67:65:2d:73:68:61:32 up-exchange-sha2
00000090 35:36:00:00:00:0f:73:73:68:2d:72:73:61:2c:73:73 56....ssh-rsa,ss
000000a0 68:2d:64:73:73:00:00:00:e9:61:72:63:66:6f:75:72 h-dss....arcfour
000000b0 32:35:36:2c:61:72:63:66:6f:75:72:31:32:38:2c:61 256,arcfour128,a
000000c0 65:73:31:32:38:2d:63:74:72:2c:61:65:73:31:39:32 es128-ctr,aes192
000000d0 2d:63:74:72:2c:61:65:73:32:35:36:2d:63:74:72:2c -ctr,aes256-ctr,
000000e0 74:77:6f:66:69:73:68:31:32:38:2d:63:74:72:2c:74 twofish128-ctr,t
000000f0 77:6f:66:69:73:68:31:39:32:2d:63:74:72:2c:74:77 wofish192-ctr,tw
00000100 6f:66:69:73:68:32:35:36:2d:63:74:72:2c:61:65:73 ofish256-ctr,aes
00000110 31:32:38:2d:63:62:63:2c:61:65:73:31:39:32:2d:63 128-cbc,aes192-c
00000120 62:63:2c:61:65:73:32:35:36:2d:63:62:63:2c:74:77 bc,aes256-cbc,tw
00000130 6f:66:69:73:68:31:32:38:2d:63:62:63:2c:74:77:6f ofish128-cbc,two
00000140 66:69:73:68:31:39:32:2d:63:62:63:2c:74:77:6f:66 fish192-cbc,twof
00000150 69:73:68:32:35:36:2d:63:62:63:2c:74:77:6f:66:69 ish256-cbc,twofi
00000160 73:68:2d:63:62:63:2c:62:6c:6f:77:66:69:73:68:2d sh-cbc,blowfish-
00000170 63:74:72:2c:62:6c:6f:77:66:69:73:68:2d:63:62:63 ctr,blowfish-cbc
00000180 2c:33:64:65:73:2d:63:74:72:2c:33:64:65:73:2d:63 ,3des-ctr,3des-c
00000190 62:63:00:00:00:e9:61:72:63:66:6f:75:72:32:35:36 bc....arcfour256
000001a0 2c:61:72:63:66:6f:75:72:31:32:38:2c:61:65:73:31 ,arcfour128,aes1
000001b0 32:38:2d:63:74:72:2c:61:65:73:31:39:32:2d:63:74 28-ctr,aes192-ct
000001c0 72:2c:61:65:73:32:35:36:2d:63:74:72:2c:74:77:6f r,aes256-ctr,two
000001d0 66:69:73:68:31:32:38:2d:63:74:72:2c:74:77:6f:66 fish128-ctr,twof
000001e0 69:73:68:31:39:32:2d:63:74:72:2c:74:77:6f:66:69 ish192-ctr,twofi
000001f0 73:68:32:35:36:2d:63:74:72:2c:61:65:73:31:32:38 sh256-ctr,aes128
00000200 2d:63:62:63:2c:61:65:73:31:39:32:2d:63:62:63:2c -cbc,aes192-cbc,
00000210 61:65:73:32:35:36:2d:63:62:63:2c:74:77:6f:66:69 aes256-cbc,twofi
00000220 73:68:31:32:38:2d:63:62:63:2c:74:77:6f:66:69:73 sh128-cbc,twofis
00000230 68:31:39:32:2d:63:62:63:2c:74:77:6f:66:69:73:68 h192-cbc,twofish
00000240 32:35:36:2d:63:62:63:2c:74:77:6f:66:69:73:68:2d 256-cbc,twofish-
00000250 63:62:63:2c:62:6c:6f:77:66:69:73:68:2d:63:74:72 cbc,blowfish-ctr
00000260 2c:62:6c:6f:77:66:69:73:68:2d:63:62:63:2c:33:64 ,blowfish-cbc,3d
00000270 65:73:2d:63:74:72:2c:33:64:65:73:2d:63:62:63:00 es-ctr,3des-cbc.
00000280 00:00:39:68:6d:61:63:2d:73:68:61:32:2d:32:35:36 ..9hmac-sha2-256
00000290 2c:68:6d:61:63:2d:73:68:61:31:2d:39:36:2c:68:6d ,hmac-sha1-96,hm
000002a0 61:63:2d:73:68:61:31:2c:68:6d:61:63:2d:6d:64:35 ac-sha1,hmac-md5
000002b0 2d:39:36:2c:68:6d:61:63:2d:6d:64:35:00:00:00:39 -96,hmac-md5...9
000002c0 68:6d:61:63:2d:73:68:61:32:2d:32:35:36:2c:68:6d hmac-sha2-256,hm
000002d0 61:63:2d:73:68:61:31:2d:39:36:2c:68:6d:61:63:2d ac-sha1-96,hmac-
000002e0 73:68:61:31:2c:68:6d:61:63:2d:6d:64:35:2d:39:36 sha1,hmac-md5-96
000002f0 2c:68:6d:61:63:2d:6d:64:35:00:00:00:04:6e:6f:6e ,hmac-md5....non
00000300 65:00:00:00:04:6e:6f:6e:65:00:00:00:00:00:00:00 e....none.......
00000310 00:00:00:00:00:00 ......
我已经测试过像 filezilla sftp 这样的连接,发送 1GB 以上没有问题,知道吗? Gaufrette 看起来没有太多选择可能是 phpseclib?
其次,虽然它可能是 SFTP 服务器问题,但如果是,我认为应该是通过 filezilla 发送文件的问题。
简答
这应该在最新的 git 版本的 phpseclib 中修复,提交:
https://github.com/phpseclib/phpseclib/commit/b50dde76f5683367e64e9f5e2936412d3168dad3
长答案
密钥重新交换失败。引用 RFC 4253 § 9:
It is RECOMMENDED that the keys be changed after each gigabyte of transmitted data or after each hour of connection time, whichever comes sooner. However, since the re-exchange is a public key operation, it requires a fair amount of processing power and should not be performed too often.
我能够使用以下 Vagrantfile 重现问题(并验证修复):
Vagrant.configure("2") do |config|
config.vm.box = "laravel/homestead"
config.vm.provision "shell", inline: <<-SHELL
printf "\n\nRekeyLimit 1K" >> /etc/ssh/sshd_config
service ssh restart
SHELL
end
此拉取请求似乎引入了此问题(在 2.0.6 和 2.0.7 版本之间合并):
https://github.com/phpseclib/phpseclib/pull/1162
理想情况下,为此存在一个单元测试,但 phpseclib 可能需要使用 Docker 进行单元测试,目前还没有。
服务器站点出现问题。我们在其他账号上测试过,没有问题。重新启动服务 sshd 并更新修复问题。 在我设置的所有日志中都没有错误:/。 管理员说可能是包损坏了,sftp 在 1GB 时停止了服务。更奇怪的是,如果我们用filezilla发送就没有问题。