SSH olamaz, bağlantı 254 çıkış durumu ile hemen sonlandırılır


13

Hatırladığım en son şey, yumuşak ve sert memlock ulimit'i sınırsız olarak değiştirmektir. Şimdi makineye giremiyorum.

Bu ssh günlüğü.

Authenticated to IP ([IP]:22).
debug1: channel 0: new [client-session]
debug2: channel 0: send open
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug1: Sending environment.
debug1: Sending env LC_CTYPE = 
debug2: channel 0: request env confirm 0
debug2: channel 0: request shell confirm 1
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel_input_status_confirm: type 99 id 0
debug2: PTY allocation request accepted on channel 0
debug2: channel 0: rcvd adjust 2097152
debug2: channel_input_status_confirm: type 99 id 0
debug2: shell request accepted on channel 0
Last login: Wed Aug  6 07:18:07 2014 from IP-SOURCE
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
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug2: channel 0: rcvd eow
debug2: channel 0: close_read
debug2: channel 0: input open -> closed
debug2: channel 0: rcvd close
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
Connection to IP closed.
Transferred: sent 4256, received 2504 bytes, in 0.4 seconds
Bytes per second: sent 9616.9, received 5658.0
debug1: Exit status 254

Şurayı göndermeden önce, şu ana kadar başarısız bir şekilde denedim:

  1. Tarafından bir norc noprofile giriş için çalışıyor ssh user@host 'bash --noprofile'

  2. Tarafından bir tty zorlama ssh -t user@host

  3. Bash_profile taşındı. Tarafından sshing çalıştı ssh user@host.

  4. limits.confDosyanın okunmamasını umarak yeniden adlandırmak .

  5. Ssh sunucusu yeniden başlatıldı.

  6. Komutu knifeas ile çalıştırmaknife ssh "name:server" "come_command"

  7. ssh user@host 'ulimit -l 64', ssh user@host 'ulimit -S -l 64', ssh user@host 'ulimit -H -l 64',ssh user@host 'exec ulimit -H -l 64'

ssh user@host "some_command"Basit bir dizin listesi alamıyorum çünkü komutları inline: Bu şekilde çalışan olup olmadığını emin değilim . Ayrıca yeniden başlatmayı denedim ssh user@host 'reboot'ama komutun yürütüldüğünü sanmıyorum. Makineyi AWS'den de yeniden başlattım, ancak başarısız oldum.

Ssh denen kayıp bir sebep mi? Sunucuya ssh yapabilmemin bir yolu var mı?


1
Uzak kullanıcının oturum açma kabuğu bash ise, bash her zaman ssh üzerinde ~ / .bashrc okur. Bunun hiçbir yolu yok. Orada sftp ve bu şekilde bashrc kontrol / değiştirmek?
Stéphane Chazelas

CyberDuck kullanarak sftp denedim, SSH_FXP_INIThata kodunu aldım .
theTuxRacer

-vSeçeneği kullanarak veya daha fazla bilgi için daha -vvda fazla, sonra -vvvseçeneğini kullanarak daha ayrıntılı çıktı alabilirsiniz . Örn ssh -vvv user@host. Bu, işlerin nerede yanlış gittiğine dair daha iyi bir fikir verebilir.
Warwick

Bunu denedim. Bu kütüğü buradan aldım.
theTuxRacer

Kullanabileceğiniz makineye başka bir dosya (FTP / HTTP ...?) Veya kabuk (konsol?) Erişiminiz var mı?
Stéphane Chazelas

Yanıtlar:


12

Değişmeyi dene

UsePAM yes

üzerinde

UsePAM no

in /etc/ssh/sshd_config(CentOS için)


Çalışıyor, ama neden?
FelikZ

1
üzgünüm, ama sebebini hatırlamıyorum)
frad sorvensen

SELinux burada oynuyor mu? Bağlanıp /etc/security/limits.confpam bağlamının artık kullanılamayacağını merak ediyorum .
steve

Bunu kullanarak bir dağıtım kullanıyorsanız systemdIMHO kötü bir çözümdür. Bu, logindbir oturumun açılmasını önler ve kullanıcı makineyi yeniden başlatırsa / yeniden başlatırsa, kullanıcı beklendiği gibi durdurulmaz.
Bigon

Benim durumumda, neden işlemci başına kullanıcı Sabit Açık Dosya Sınırı daha büyüktür nr_open. ( nr_openMakineyi yeniden başlatmadan zaman sıfırlanır): Eğer kontrol edebilirsiniz nr_opentarafından cat /proc/sys/fs/nr_openve sabit Açık dosyaları ulimit -Hn. Ssh giriş kullanıcısının hala Sabit Açık Dosya Yapılandırması'nı kullanmasını istiyorsanız, aşağıdakileri artırmanız gerekir nr_open:sudo sysctl -w fs.nr_open=NUM_BIGGER_THAN_HARD
Xin Meng

4

Benzer bir sorunum vardı, sadece aşağıdaki garip mesajı görüyordum:

client_input_channel_req: channel 0 rtype exit-status reply 0.

Deniyordum Kullanıcı sshINTO varsayılan bir kabuk yoktu .

Aşağıdaki koştum:

chsh -s $(which sh) username 

Ve sonra başardım ssh.

Not:

Koşu su usernameçıkış kodu döndürüyordu 1(başarısız oldu) ve şimdi sadece çalışıyor.


1
Şifreli kutsal saçmalık! Benim sorunum da buydu. SFTP kullanmak için bir "sistem" kullanıcı (hiçbir ev ve hiçbir SHELL) yapmaya çalıştım ve kimlik doğrulaması olabilir ama SFTP veya SCP veya SSH kullanamadı. Bu benim sorunumu çözdü. Teşekkürler!
Dave

2

Ben bu karşılaştım Mac OS X yapılandırma nerede ~/.bashrckaynaklanan bir sorun vardı sshama, işe sftpkarşı değil işin. @ stéphane-chazelas, yukarıdaki yorumlarda doğru fikre sahip gibi görünüyor.

SSH üzerinden uzak sistem üzerinde yeniden adlandırmak ~/.bashrciçin ~/.bashrc-MOVEDve tekrar deneyin ve çalışıp çalışmadığını anlamak; ardından ~/.bashrcsorunu geri yükleyin ve belirleyin.

Sistemimde ~/.bashrcbulunanlar:

if [ -z "$PS1" ] ; then
    exit
fi

Muhtemelen suçluydu.


1

/Etc/security/limits.conf çekirdek parametre dosyasındaki Açık dosyalar yapılandırmasını sınırsız olarak değiştirdim ve bağlantıyı kaybettim.

Kök kullanıcı için normale geri döndükten sonra bağlantıyı geri aldım.

Wrong Example:
## Example hard limit for max opened files
*        hard   nofile unlimited
root     hard   nofile  unlimited
## Example soft limit for max opened files
*        soft   nofile unlimited
root     soft   nofile unlimited

Correct Ex:
## Example hard limit for max opened files
*        hard   nofile 16000
root     hard   nofile 16000
## Example soft limit for max opened files
*        soft   nofile 16000
root     soft   nofile 16000

1

Bugün de aynı sorunu yaşadım. Fark ettiğim ilk şey /var/log% 100 idi.

Bunu düzelttim ve sorunu çözmedi. Yapamadım sshne de ben GUI aracılığıyla giriş olabilir, ama olabilir Ctrl+ Alt+ F2CLI almak ve giriş yolu olduğunu. Var olan startxbir hata yazdım ve aldım /tmp/.X0-lock.

Bu dosyayı kaldırdım (teknik olarak her şeyi kaldırdım /tmp) ve GUI ve ayrıca üzerinden giriş yapabildim ssh.


Teşekkürler! Benim durumumda CentOS 7 /homekullanarak tespit ettiğim% 100'e kadar dolduruldu df -h.
RAM237
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.