scp “bağlantı kesildi” ama ssh iyi çalışıyor


10

Ben içine ssh olabilir bir sunucu scp reddetti başladı.

$ scp ~/tmp/foo user@some.example.com:~/tmp/
lost connection

scp -v -vI ile bağlantı başarılı olduğunu görebilirsiniz ve aktarım başarılı görünüyor, ancak diğer tarafta hiçbir dosya görünmüyor.

OpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/schwern/.ssh/config
debug1: /Users/schwern/.ssh/config line 1: Applying options for *
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to testcurrent01.dev.liquidweb.com [10.30.152.254] port 22.
debug1: Connection established.
debug1: identity file /Users/schwern/.ssh/id_rsa type -1
debug1: identity file /Users/schwern/.ssh/id_rsa-cert type -1
debug1: identity file /Users/schwern/.ssh/id_dsa type -1
debug1: identity file /Users/schwern/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.3
debug1: match: OpenSSH_4.3 pat OpenSSH_4*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9
debug2: fd 3 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
...lots of authentication details...
debug1: Enabling compression at level 6.
debug1: Authentication succeeded (publickey).
Authenticated to user@some.example.com ([1.2.3.4]:22).
debug2: fd 5 setting O_NONBLOCK
debug2: fd 6 setting O_NONBLOCK
debug1: channel 0: new [client-session]
debug2: channel 0: send open
debug1: Entering interactive session.
debug2: callback start
debug2: client_session2_setup: id 0
debug2: fd 3 setting TCP_NODELAY
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
debug2: channel 0: request env confirm 0
debug1: Sending command: scp -v -t -- ~/tmp/
debug2: channel 0: request exec confirm 1
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel 0: rcvd adjust 2097152
debug2: channel_input_status_confirm: type 99 id 0
debug2: exec request accepted on channel 0
debug2: channel 0: rcvd eof
debug2: channel 0: output open -> drain
debug2: channel 0: obuf empty
debug2: channel 0: close_write
debug2: channel 0: output drain -> closed
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug2: channel 0: rcvd close
debug2: channel 0: close_read
debug2: channel 0: input open -> closed
debug2: channel 0: almost dead
debug2: channel 0: gc: notify user
debug2: channel 0: gc: user detached
debug2: channel 0: send close
debug2: channel 0: is dead
debug2: channel 0: garbage collecting
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 4576, received 2520 bytes, in 0.0 seconds
Bytes per second: sent 167737.0, received 92372.6
debug1: Exit status 0
debug1: compress outgoing: raw data 135, compressed 121, factor 0.90
debug1: compress incoming: raw data 66, compressed 52, factor 0.79
lost connection

Bu bir CentOS 5.9 makinesidir.

Kontrol ettiğim şeyler ...

  • Bu dizine yazma iznim var.
  • Kullanıcının duyarlı bir kabuğu vardır (/ bin / bash).
  • Yolumdan çekilmeye çalıştım ~/.ssh/config.
  • Bu makineye tamamen farklı işletim sistemlerine sahip diğer bilgisayarlardan scp'leme de başarısız olur.
  • Disk dolu değil.
  • Sshd yeniden başlatılıyor.

/ var / log / secure şunları içerir ...

Apr  4 14:23:22 some sshd[12576]: Postponed publickey for user from 1.2.3.4 port 33581 ssh2
Apr  4 14:23:22 some sshd[12575]: Accepted publickey for user from 1.2.3.4 port 33581 ssh2
Apr  4 14:23:22 some sshd[12575]: pam_unix(sshd:session): session opened for user user by (uid=0)
Apr  4 14:23:22 some sshd[12575]: pam_unix(sshd:session): session closed for user user

Bundan sonra ne kontrol edebilirim?


2
Beklediğim hata değil, ama her ihtimale karşı, sizin ~/.bashrcveya ~/.profileveya /etc/bash.bashrcveya /etc/profileSTDOUT bir şey yazdırmak? bugzilla.redhat.com/show_bug.cgi?id=20527 . Sanırım Linux kullanıyor musunuz?
terdon

Hayır! Ben her zamanki gibi Last login: Thu Apr 4 10:15:28 2013 from 1.2.3.4.
Schwern

Sistem ana bilgisayarlarından herhangi birinde bir şey var mı?
Flup

@Flup Normal görünüyor. Bağlandığımda günlüklerde görünenleri gönderdim.
Schwern

strace -f -o /tmp/sshd.strace -p [pid of sshd]Sunucuda başlayabilir , tekrar deneyebilir ve ilgili dosyadan alakalı görünen bir şey gönderebilir misiniz?
Flup

Yanıtlar:


1

Aynı sorun vardı.

Centos'un minimal yüklemesini yaptıysanız, yalnızca opensshve openssh-serverpaketlerini yükler, ancak openssh-clients. sudo yum install openssh-clientssorununuzu çözecektir.


Artık o makineye erişimim yok, ama bu muhtemel bir yanıt gibi görünüyor.
Schwern

4

scpBir yaparak çalışır sshsonra başka bir kopyasını başlatılması, uzak ana bağlantıyı scpbu ana bilgisayarda programın. İki scp örneği, dosya aktarımını gerçekleştirmek için ssh bağlantısı üzerinden iletişim kurar.

scpssh bağlantısı erken düştüğünde "kayıp bağlantı" yerel program tarafından yazdırılır . Bunun ana nedeni scp, uzak ana bilgisayardaki programın başlayamaması veya erken çıkmasıdır. Bu, scp programı uzak ana bilgisayarda bulunmadığı veya PATH komutunuzda olmadığı veya yürütülebilir olarak işaretlenmediği veya başlatıldıktan sonra veya bu satırlar boyunca bir şey nedeniyle çökmüş olabilir.


0

Son zamanlarda bu sorunu sistemlerimizden birinde yaşadık.

Ana sunucuya uygun şekilde ssh yapabiliriz, ancak sunucudan makineye geri dönemediğimizi keşfettik. Bu, araştırmak için iyi bir yerdir, eğer bunu yapamazsanız SCP'yi kullanamazsınız.

Bizim durumumuzda, bir şekilde (belki de bot yükleme) ssh ikili dosyalarımızı 0 bayt boş dosyalarla değiştirmişti. "Ssh" yürütüldüğünde hiçbir şey olmadı.

Openssh-client'ları yeniden yükleyerek ikili dosyaları düzelttik ve scp çalışmaya başladı.

yum reinstall openssh-clients

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.