scp took 5 min to xfer 20K?!

carcassone_fr_at_yahoo.com
Date: 09/18/03


Date: 17 Sep 2003 17:28:55 -0700

I have a 20K test file that I scp'ed between 2 machines. From machine
A to machine B, it took 287.3 seconds! But from machine B to machine
A, it only took 0.3 seconds. Can someone shed some light on this?
The machines have same user and same ssh_config. In the case where it
took 5 min, scp quickly got to the point "Sending file modes:" but
then just sat there for 5 min until it finally wakes up and finished.
Not much difference in the logs except the time it took.

Please reply by e-mail as well as post to news group. Thanks in
advance for any help.

Here is the logs; with the slow one first followed by the one that
works:

Slow log from machine A to machine B (287.3 sec for 20KB):
Executing: program /usr/local/bin/ssh host B, user app, command scp -v
-t /tmp
OpenSSH_3.1p1, SSH protocols 1.5/2.0, OpenSSL 0x0090605f
debug1: Reading configuration data /usr/local/etc/ssh_config
debug1: Applying options for *
debug1: Rhosts Authentication disabled, originating port will not be
trusted.
debug1: restore_uid
debug1: ssh_connect: getuid 2000 geteuid 2000 anon 1
debug1: Connecting to B [www.xxx.yyy.zzz] port 22.
debug1: temporarily_use_uid: 2000/2000 (e=2000)
debug1: restore_uid
debug1: temporarily_use_uid: 2000/2000 (e=2000)
debug1: restore_uid
debug1: Connection established.
debug1: identity file /u/app/.ssh/identity type -1
debug1: identity file /u/app/.ssh/id_rsa type 1
debug1: identity file /u/app/.ssh/id_dsa type -1
debug1: Remote protocol version 1.99, remote software version
OpenSSH_3.1p1
debug1: match: OpenSSH_3.1p1 pat OpenSSH*
Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_3.1p1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: dh_gen_key: priv key bits set: 130/256
debug1: bits set: 1616/3191
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'B' is known and matches the RSA host key.
debug1: Found key in /u/app/.ssh/known_hosts:1
debug1: bits set: 1537/3191
debug1: ssh_rsa_verify: signature correct
debug1: kex_derive_keys
debug1: newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: waiting for SSH2_MSG_NEWKEYS
debug1: newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: done: ssh_kex2.
debug1: send SSH2_MSG_SERVICE_REQUEST
debug1: service_accept: ssh-userauth
debug1: got SSH2_MSG_SERVICE_ACCEPT
debug1: authentications that can continue:
publickey,password,keyboard-interactive
debug1: next auth method to try is publickey
debug1: try privkey: /u/app/.ssh/identity
debug1: try pubkey: /u/app/.ssh/id_rsa
debug1: input_userauth_pk_ok: pkalg ssh-rsa blen 149 lastkey 6db40
hint 1
debug1: read PEM private key done: type RSA
debug1: ssh-userauth2 successful: method publickey
debug1: fd 5 setting O_NONBLOCK
debug1: fd 6 setting O_NONBLOCK
debug1: fd 7 setting O_NONBLOCK
debug1: channel 0: new [client-session]
debug1: send channel open 0
debug1: Entering interactive session.
debug1: ssh_session2_setup: id 0
debug1: Sending command: scp -v -t /tmp
debug1: channel request 0: exec
debug1: channel 0: open confirm rwindow 0 rmax 32768
Sending file modes: C0644 25726 testfile
debug1: channel 0: read<=0 rfd 5 len 0
debug1: channel 0: read failed
debug1: channel 0: close_read
debug1: channel 0: input open -> drain
debug1: channel 0: ibuf empty
debug1: channel 0: send eof
debug1: channel 0: input drain -> closed
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: rcvd eof
debug1: channel 0: output open -> drain
debug1: channel 0: obuf empty
debug1: channel 0: close_write
debug1: channel 0: output drain -> closed
debug1: channel 0: rcvd close
debug1: channel 0: almost dead
debug1: channel 0: gc: notify user
debug1: channel 0: gc: user detached
debug1: channel 0: send close
debug1: channel 0: is dead
debug1: channel 0: garbage collecting
debug1: channel_free: channel 0: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
debug1: fd 2 clearing O_NONBLOCK
debug1: Transferred: stdin 0, stdout 0, stderr 0 bytes in 287.3
seconds
debug1: Bytes per second: stdin 0.0, stdout 0.0, stderr 0.0
debug1: Exit status 0

Fast log from machine B to machine A (0.3 sec for 20KB):
Executing: program /usr/local/bin/ssh host A, user app, command scp -v
-t /tmp
OpenSSH_3.1p1, SSH protocols 1.5/2.0, OpenSSL 0x0090605f
debug1: Reading configuration data /usr/local/etc/ssh_config
debug1: Applying options for *
debug1: Rhosts Authentication disabled, originating port will not be
trusted.
debug1: restore_uid
debug1: ssh_connect: getuid 2000 geteuid 2000 anon 1
debug1: Connecting to A [www.xxx.yyy.zzz] port 22.
debug1: temporarily_use_uid: 2000/2000 (e=2000)
debug1: restore_uid
debug1: temporarily_use_uid: 2000/2000 (e=2000)
debug1: restore_uid
debug1: Connection established.
debug1: identity file /u/app/.ssh/identity type -1
debug1: identity file /u/app/.ssh/id_rsa type 1
debug1: identity file /u/app/.ssh/id_dsa type -1
debug1: Remote protocol version 1.99, remote software version
OpenSSH_3.1p1
debug1: match: OpenSSH_3.1p1 pat OpenSSH*
Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_3.1p1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: dh_gen_key: priv key bits set: 120/256
debug1: bits set: 1565/3191
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'A' is known and matches the RSA host key.
debug1: Found key in /u/app/.ssh/known_hosts:2
debug1: bits set: 1661/3191
debug1: ssh_rsa_verify: signature correct
debug1: kex_derive_keys
debug1: newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: waiting for SSH2_MSG_NEWKEYS
debug1: newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: done: ssh_kex2.
debug1: send SSH2_MSG_SERVICE_REQUEST
debug1: service_accept: ssh-userauth
debug1: got SSH2_MSG_SERVICE_ACCEPT
debug1: authentications that can continue:
publickey,password,keyboard-interactive
debug1: next auth method to try is publickey
debug1: try privkey: /u/app/.ssh/identity
debug1: try pubkey: /u/app/.ssh/id_rsa
debug1: input_userauth_pk_ok: pkalg ssh-rsa blen 149 lastkey 6db40
hint 1
debug1: read PEM private key done: type RSA
debug1: ssh-userauth2 successful: method publickey
debug1: fd 5 setting O_NONBLOCK
debug1: fd 6 setting O_NONBLOCK
debug1: fd 7 setting O_NONBLOCK
debug1: channel 0: new [client-session]
debug1: send channel open 0
debug1: Entering interactive session.
debug1: ssh_session2_setup: id 0
debug1: Sending command: scp -v -t /tmp
debug1: channel request 0: exec
debug1: channel 0: open confirm rwindow 0 rmax 32768
Sending file modes: C0644 25726 testfile
debug1: channel 0: read<=0 rfd 5 len 0
debug1: channel 0: read failed
debug1: channel 0: close_read
debug1: channel 0: input open -> drain
debug1: channel 0: ibuf empty
debug1: channel 0: send eof
debug1: channel 0: input drain -> closed
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: rcvd eof
debug1: channel 0: output open -> drain
debug1: channel 0: obuf empty
debug1: channel 0: close_write
debug1: channel 0: output drain -> closed
debug1: channel 0: rcvd close
debug1: channel 0: almost dead
debug1: channel 0: gc: notify user
debug1: channel 0: gc: user detached
debug1: channel 0: send close
debug1: channel 0: is dead
debug1: channel 0: garbage collecting
debug1: channel_free: channel 0: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
debug1: fd 2 clearing O_NONBLOCK
debug1: Transferred: stdin 0, stdout 0, stderr 0 bytes in 0.3 seconds
debug1: Bytes per second: stdin 0.0, stdout 0.0, stderr 0.0
debug1: Exit status 0



Relevant Pages

  • X11 forwarding help
    ... I'm using ssh to do X11 forwarding over a gateway and it seems to work fine ... debug1: Rhosts Authentication disabled, ... debug3: check_host_in_hostfile: match line 5 ... debug1: channel 0: new ...
    (SSH)
  • RE: X11 forwarding help
    ... Subject: X11 forwarding help ... debug1: Rhosts Authentication disabled, ... debug3: check_host_in_hostfile: match line 5 ... debug1: channel 0: new ...
    (SSH)
  • Tru64 Unix v5.1B SSH2D chroot environment
    ... The ssh daemon that came with the system has this feature. ... I can only imagine that the client software is ... Opened channel for session ... debug1: ssh-userauth2 successful: method password ...
    (comp.unix.tru64)
  • AIM port forwarding
    ... debug1: channel 2: new ... debug1: channel 2: input drain -> closed ... debug1: channel 2: rcvd eof ...
    (comp.security.ssh)
  • SSH -N -L not working with some servers
    ... If I remove -N flag, I get the remote shell, the tunnel is up, and all ... debug1: fd 5 setting TCP_NODELAY ... debug1: channel 1: new ... debug1: channel 1: output drain -> closed ...
    (comp.security.ssh)