Net/sftp hangs

Hi all,

I’ve got a simple script for enumerating files on an SFTP server and
downloading a subset of the files there. Sometimes the script works.
Other times, it hangs. I’ve attached the output running w/ :verbose =>
:debug. After printing several files names (1st on is good, the 2 others
are bogus), the script hangs at “sent 52 bytes”.

My relevant part of my script is:

sftp.dir.foreach('.') do |obj|
  puts "  found: #{obj.name}" if obj.name
  next unless obj.file?
  next unless obj.name.present?
  next unless obj.name.match(/^trf\-/)  # only files matching

“trf-*”
…save the file name…
end

Gem version:
net-sftp (2.0.5)
net-ssh (>= 2.0.9)

I’m on a Mac running OS X Lion. The SFTP server is Debian etch running
OpenSSH 4.3p2.

negotiating protocol version
remote is SSH-2.0-OpenSSH_4.3p2 Debian-9etch3' local isSSH-2.0-Ruby/Net::SSH_2.2.1 x86_64-linux’
read 704 bytes
received packet nr 0 type 20 len 700
got KEXINIT from server
sending KEXINIT
queueing packet nr 0 type 20 len 556
sent 560 bytes
negotiating algorithms
negotiated:

  • kex: diffie-hellman-group-exchange-sha1
  • host_key: ssh-rsa
  • encryption_server: aes128-cbc
  • encryption_client: aes128-cbc
  • hmac_client: hmac-sha1
  • hmac_server: hmac-sha1
  • compression_client: none
  • compression_server: none
  • language_client:
  • language_server:
    exchanging keys
    queueing packet nr 1 type 34 len 20
    sent 24 bytes
    read 152 bytes
    received packet nr 1 type 31 len 148
    queueing packet nr 2 type 32 len 140
    sent 144 bytes
    read 720 bytes
    received packet nr 2 type 33 len 700
    queueing packet nr 3 type 21 len 20
    sent 24 bytes
    received packet nr 3 type 21 len 12
    beginning authentication of `health123’
    queueing packet nr 4 type 5 len 28
    sent 52 bytes
    read 52 bytes
    received packet nr 4 type 6 len 28
    trying publickey
    connecting to ssh-agent
    could not connect to ssh-agent
    trying publickey (d3:be:2f:eb:bd:61:15:0d:62:8c:65:d1:53:9c:28:a8)
    queueing packet nr 5 type 50 len 348
    sent 372 bytes
    read 324 bytes
    received packet nr 5 type 60 len 300
    queueing packet nr 6 type 50 len 620
    sent 644 bytes
    read 36 bytes
    received packet nr 6 type 52 len 12
    publickey succeeded (d3:be:2f:eb:bd:61:15:0d:62:8c:65:d1:53:9c:28:a8)
    queueing packet nr 7 type 90 len 44
    sent 68 bytes
    read 52 bytes
    received packet nr 7 type 91 len 28
    channel_open_confirmation: 0 0 0 32768
    requesting sftp subsystem
    sending channel request “subsystem”
    queueing packet nr 8 type 98 len 44
    sent 68 bytes
    read 88 bytes
    received packet nr 8 type 93 len 28
    channel_window_adjust: 0 +131072
    received packet nr 9 type 99 len 12
    channel_success: 0
    sftp subsystem successfully started
    queueing packet nr 9 type 94 len 28
    sent 52 bytes
    read 148 bytes
    received packet nr 10 type 94 len 124
    channel_data: 0 95b
    received sftp packet 2 len 91
    negotiating sftp protocol version, mine is 6
    server reports sftp version 5
    negotiated version is 5
    sending opendir packet (0)
    queueing packet nr 10 type 94 len 28
    sent 52 bytes
    read 52 bytes
    received packet nr 11 type 94 len 28
    channel_data: 0 14b
    received sftp packet 102 len 10
    sending readdir packet (1)
    queueing packet nr 11 type 94 len 28
    sent 52 bytes
    read 964 bytes
    received packet nr 12 type 94 len 940
    channel_data: 0 918b
    received sftp packet 104 len 914
    found: h123-20111117-044053.csv
    found:
    found: csv?? health123chadm??N?#?N???N???h123-20111202-023549.csv??
    health123chadm??N?9?N?9?N?9?h123-20111201-200033.csv??
    health123chadm??N?$N???N???h123-20111202-030147.csv??
    health123chadm??N???N???N???..?
    health123chadmE?N?CqN???N???h123-20111202-025247.csv??
    health123chadm??N?=N?=N?=.?
    health123chadmE?N?CqN???N???h123-20111202-025952.csv??
    health123chadm??N??*N??*N??*h123-20111202-030227.csv??
    health123chadm??N???N???N???
    sending readdir packet (2)
    queueing packet nr 12 type 94 len 28
    sent 52 bytes
    read 84 bytes
    received packet nr 13 type 94 len 60
    channel_data: 0 34b
    received sftp packet 101 len 30
    sending close packet (3)
    queueing packet nr 13 type 94 len 28
    sent 52 bytes
    read 68 bytes
    received packet nr 14 type 94 len 44
    channel_data: 0 30b
    received sftp packet 101 len 26
    closing remaining channels (1 open)
    queueing packet nr 14 type 97 len 28
    sent 52 bytes

-----Messaggio originale-----
Da: Peyman O. [mailto:[email protected]]
Inviato: venerd 2 dicembre 2011 04:42
A: ruby-talk ML
Oggetto: net/sftp hangs

Hi all,

I’ve got a simple script for enumerating files on an SFTP server and
downloading a subset of the files there. Sometimes the script works.
Other times, it hangs. I’ve attached the output running w/ :verbose =>
:debug. After printing several files names (1st on is good, the 2 others
are
bogus), the script hangs at “sent 52 bytes”.

My relevant part of my script is:

sftp.dir.foreach('.') do |obj|
  puts "  found: #{obj.name}" if obj.name
  next unless obj.file?
  next unless obj.name.present?
  next unless obj.name.match(/^trf\-/)  # only files matching 

“trf-*”
…save the file name…
end

Gem version:
net-sftp (2.0.5)
net-ssh (>= 2.0.9)

I’m on a Mac running OS X Lion. The SFTP server is Debian etch running
OpenSSH 4.3p2.

negotiating protocol version
remote is SSH-2.0-OpenSSH_4.3p2 Debian-9etch3' local is SSH-2.0-Ruby/Net::SSH_2.2.1 x86_64-linux’
read 704 bytes
received packet nr 0 type 20 len 700
got KEXINIT from server
sending KEXINIT
queueing packet nr 0 type 20 len 556
sent 560 bytes
negotiating algorithms
negotiated:

  • kex: diffie-hellman-group-exchange-sha1
  • host_key: ssh-rsa
  • encryption_server: aes128-cbc
  • encryption_client: aes128-cbc
  • hmac_client: hmac-sha1
  • hmac_server: hmac-sha1
  • compression_client: none
  • compression_server: none
  • language_client:
  • language_server:
    exchanging keys
    queueing packet nr 1 type 34 len 20
    sent 24 bytes
    read 152 bytes
    received packet nr 1 type 31 len 148
    queueing packet nr 2 type 32 len 140
    sent 144 bytes
    read 720 bytes
    received packet nr 2 type 33 len 700
    queueing packet nr 3 type 21 len 20
    sent 24 bytes
    received packet nr 3 type 21 len 12
    beginning authentication of `health123’
    queueing packet nr 4 type 5 len 28
    sent 52 bytes
    read 52 bytes
    received packet nr 4 type 6 len 28
    trying publickey
    connecting to ssh-agent
    could not connect to ssh-agent
    trying publickey (d3:be:2f:eb:bd:61:15:0d:62:8c:65:d1:53:9c:28:a8)
    queueing packet nr 5 type 50 len 348
    sent 372 bytes
    read 324 bytes
    received packet nr 5 type 60 len 300
    queueing packet nr 6 type 50 len 620
    sent 644 bytes
    read 36 bytes
    received packet nr 6 type 52 len 12
    publickey succeeded (d3:be:2f:eb:bd:61:15:0d:62:8c:65:d1:53:9c:28:a8)
    queueing packet nr 7 type 90 len 44
    sent 68 bytes
    read 52 bytes
    received packet nr 7 type 91 len 28
    channel_open_confirmation: 0 0 0 32768
    requesting sftp subsystem
    sending channel request “subsystem”
    queueing packet nr 8 type 98 len 44
    sent 68 bytes
    read 88 bytes
    received packet nr 8 type 93 len 28
    channel_window_adjust: 0 +131072
    received packet nr 9 type 99 len 12
    channel_success: 0
    sftp subsystem successfully started
    queueing packet nr 9 type 94 len 28
    sent 52 bytes
    read 148 bytes
    received packet nr 10 type 94 len 124
    channel_data: 0 95b
    received sftp packet 2 len 91
    negotiating sftp protocol version, mine is 6 server reports sftp version
    5
    negotiated version is 5 sending opendir packet (0) queueing packet nr 10
    type 94 len 28 sent 52 bytes read 52 bytes received packet nr 11 type 94
    len
    28
    channel_data: 0 14b
    received sftp packet 102 len 10
    sending readdir packet (1)
    queueing packet nr 11 type 94 len 28
    sent 52 bytes
    read 964 bytes
    received packet nr 12 type 94 len 940
    channel_data: 0 918b
    received sftp packet 104 len 914
    found: h123-20111117-044053.csv
    found:
    found: csv?? health123chadm??N?#?N???N???h123-20111202-023549.csv??
    health123chadm??N?9?N?9?N?9?h123-20111201-200033.csv??
    health123chadm??N?$N???N???h123-20111202-030147.csv??
    health123chadm??N???N???N???..?
    health123chadmE?N?CqN???N???h123-20111202-025247.csv??
    health123chadm??N?=N?=N?=.?
    health123chadmE?N?CqN???N???h123-20111202-025952.csv??
    health123chadm??N??*N??*N??*h123-20111202-030227.csv??
    health123chadm??N???N???N???
    sending readdir packet (2)
    queueing packet nr 12 type 94 len 28
    sent 52 bytes
    read 84 bytes
    received packet nr 13 type 94 len 60
    channel_data: 0 34b
    received sftp packet 101 len 30
    sending close packet (3)
    queueing packet nr 13 type 94 len 28
    sent 52 bytes
    read 68 bytes
    received packet nr 14 type 94 len 44
    channel_data: 0 30b
    received sftp packet 101 len 26
    closing remaining channels (1 open)
    queueing packet nr 14 type 97 len 28
    sent 52 bytes


Posted via http://www.ruby-forum.com/.


Caselle da 1GB, trasmetti allegati fino a 3GB e in piu’ IMAP, POP3 e
SMTP autenticato? GRATIS solo con Email.it http://www.email.it/f

Sponsor:
Riccione Hotel 3 stelle in centro: Pacchetto Capodanno mezza pensione,
animazione bimbi, zona relax, parcheggio. Scopri l’offerta solo per
oggi…
Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid983&d)-12

On Thu, Dec 29, 2011 at 12:44 AM, Luca (Email) [email protected]
wrote:

I’ve got a simple script for enumerating files on an SFTP server and
next unless obj.file?
OpenSSH 4.3p2.
negotiating algorithms

  • language_server:
    sent 24 bytes
    queueing packet nr 5 type 50 len 348
    read 52 bytes
    channel_success: 0
    len
    found: h123-20111117-044053.csv
    sending readdir packet (2)
    received packet nr 14 type 94 len 44

Not sure if you realize you’re spamming the list, but if you’d stop, I’d
appreciate it. I see you’ve even sent two more in the time it’s taken me
to
upload this screenshot.

https://s3.amazonaws.com/josh.cheek/images/scratch/luca-spam.png

-----Messaggio originale-----
Da: Josh C. [mailto:[email protected]]
Inviato: gioved 29 dicembre 2011 08:27
A: ruby-talk ML
Oggetto: Re: I: net/sftp hangs


Caselle da 1GB, trasmetti allegati fino a 3GB e in piu’ IMAP, POP3 e
SMTP autenticato? GRATIS solo con Email.it http://www.email.it/f

Sponsor:
Capodanno a Riccione, Pacchetto Relax: Mezza Pensione + bagno turco +
solarium + massaggio. Wifi e parcheggio gratis. 2 giorni euro 199 a
persona
Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid979&d)-12