Ssh नहीं कर सकता, कनेक्शन तुरंत बाहर निकलने की स्थिति 254 के साथ समाप्त हो गया


13

सबसे हाल की बात जो मुझे याद है, वह है नरम और कठोर मेमॉक अलमिट को असीमित में बदलना। अब मैं मशीन में नहीं जा सकता।

यह ssh लॉग है।

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

मैंने यहाँ पोस्ट करने से पहले, अब तक की असफल कोशिश की है:

  1. द्वारा एक नोरैक नोप्रोफाइल लॉगिन के लिए कोशिश कर रहा है ssh user@host 'bash --noprofile'

  2. के द्वारा एक जबरदस्ती ssh -t user@host

  3. Bash_profile को स्थानांतरित किया। द्वारा sshing की कोशिश की ssh user@host

  4. limits.confफ़ाइल का नाम इस उम्मीद में कि यह पढ़ा नहीं जाएगा।

  5. पुनरारंभ किए गए ssh सर्वर।

  6. के माध्यम से एक आदेश चलाएं knifeके रूप मेंknife 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"काम करता है : क्योंकि मुझे एक साधारण निर्देशिका सूची नहीं मिल सकती है। मैंने इसके द्वारा रीबूट करने की भी कोशिश की, ssh user@host 'reboot'लेकिन यह नहीं लगता कि कमांड निष्पादित किया गया था। मैंने AWS से मशीन को फिर से शुरू किया, लेकिन असफल रहा।

यह एक खो कारण ssh करने की कोशिश कर रहा है? वहाँ किसी भी तरह से मैं सर्वर में ssh कर सकता है?


1
यदि दूरस्थ उपयोगकर्ता का लॉगिन शेल बैश है, तो bash हमेशा ssh पर ~ / .bashrc पढ़ता है। उसके आसपास कोई रास्ता नहीं है। क्या आप वहां जाकर अपना bashrc बदल सकते हैं या बदल सकते हैं?
स्टीफन चेजलस

CyberDuck का उपयोग करके ट्राई किया sftp, SSH_FXP_INITत्रुटि कोड मिला ।
TheTuxRacer 12

आप -vविकल्प का उपयोग करके अधिक विस्तृत आउटपुट भी प्राप्त कर सकते हैं , या अधिक -vvके लिए, और भी अधिक का -vvvविकल्प , फिर विकल्प। जैसे ssh -vvv user@host। इससे आपको बेहतर अंदाजा हो सकता है कि चीजें कहां गलत हो रही हैं।
वार्विक

कोशिश की है कि। यहीं से मुझे लॉग मिला।
TheTuxRacer 13

क्या आपके पास किसी अन्य फ़ाइल (FTP / HTTP ...?) या शेल (कंसोल?) का उपयोग उस मशीन तक पहुंच है जिसे आप उपयोग कर सकते हैं?
स्टीफन चेज़लस

जवाबों:


12

बदलने की कोशिश

UsePAM yes

पर

UsePAM no

में /etc/ssh/sshd_config(CentOS के लिए)


यह काम करता है, लेकिन क्यों?
FelikZ

1
क्षमा करें, लेकिन मुझे इसका कारण याद नहीं है)
फ्राड सोरवेन्सन

क्या SELinux यहाँ खेल रहा है? आश्चर्य है कि अगर संदर्भ /etc/security/limits.confमिल गया, और pam इसे किसी भी अधिक उपयोग नहीं कर सकता।
स्टीव

यदि आप एक वितरण का उपयोग कर रहे हैं तो systemdयह एक बुरा समाधान IMHO है। यह logindएक खुले सत्र को रोक देगा और जब / यदि उपयोगकर्ता मशीन को रिबूट कर रहा है, तो कुछ प्रक्रियाएं शुरू हो जाती हैं क्योंकि उपयोगकर्ता को अपेक्षित रूप से रोका नहीं जाएगा।
Bigon

मेरे मामले में, इसका कारण यह है कि उपयोगकर्ता हार्ड ओपन फिल्स लिमिट प्रति प्रोसेसर से बड़ा है nr_open। ( nr_openमशीन को पुनरारंभ करते समय रीसेट किया जाता है): आप nr_openबाय cat /proc/sys/fs/nr_openऔर हार्ड ओपन फाइल को चेक कर सकते हैं ulimit -Hn। यदि आप अभी भी ssh लॉगिन यूजर को हार्ड ओपन फाइल कॉन्फिगर का उपयोग करना चाहते हैं, तो आपको वृद्धि करने की आवश्यकता है nr_open:sudo sysctl -w fs.nr_open=NUM_BIGGER_THAN_HARD
शिन मेंग

4

मुझे एक समान समस्या थी, मुझे केवल अजीब संदेश का पालन करना प्रतीत हो रहा था:

client_input_channel_req: channel 0 rtype exit-status reply 0.

उपयोगकर्ता मैं करने के लिए कोशिश कर रहा था sshमें एक डिफ़ॉल्ट खोल नहीं था

मैंने निम्नलिखित भाग किया:

chsh -s $(which sh) username 

और तब मैं सक्षम था ssh

ध्यान दें:

रनिंग su usernameएग्जिट-कोड लौटा रहा था (फेल हो रहा था 1) और अब यह सिर्फ काम करता है।


1
पवित्र बकवास जो गूढ़ है! यह मेरी समस्या भी थी। मैंने SFTP का उपयोग करने के लिए एक "सिस्टम" उपयोगकर्ता (कोई घर और कोई शेल नहीं) बनाने की कोशिश की और मैं प्रमाणित कर सकता था लेकिन मैं SFTP या SCP या SSH का उपयोग नहीं कर सका। इससे मेरा मुद्दा ठीक हो गया। धन्यवाद!
डेव

2

मैं पर इस सामना करना पड़ा मैक ओएस एक्स जहां में विन्यास ~/.bashrcएक समस्या जिसके कारण था sshकाम करने के लिए, लेकिन sftpकरने के लिए नहीं काम करते हैं। @ स्टीफन-चेज़लस को उपरोक्त टिप्पणियों में सही विचार लगता है।

SSH के माध्यम से दूरस्थ सिस्टम पर, नाम बदलने ~/.bashrcके लिए ~/.bashrc-MOVEDऔर इसे फिर से कोशिश करते हैं और देखते हैं अगर यह काम करता है; तब ~/.bashrcसमस्या को पुनर्स्थापित करें और निर्धारित करें।

मेरे सिस्टम में यह ~/.bashrcनिहित है:

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

जो संभावित अपराधी था।


1

मुझे कर्नेल पैरामीटर फ़ाइल /etc/security/limits.conf में ओपन फाइल कॉन्फ़िगरेशन को असीमित में बदल दिया गया और कनेक्टिविटी खो गई।

रूट उपयोगकर्ता के लिए इसे वापस सामान्य में बदलने के बाद मुझे कनेक्टिविटी वापस मिल गई।

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

मेरा आज भी यही मुद्दा था। पहली बात जो मैंने देखी वह /var/log100% थी।

मैंने तय किया कि और यह समस्या हल नहीं हुई। मैं नहीं कर सकता sshऔर न ही मैं जीयूआई के माध्यम से प्रवेश कर सकता है, लेकिन मैं कर सकता है Ctrl+ Alt+ F2और CLI को पाने के लिए रास्ता है कि लॉगिन। मैंने टाइप किया startxऔर एक त्रुटि प्राप्त की जो /tmp/.X0-lockमौजूद थी।

मैंने उस फ़ाइल को हटा दिया (तकनीकी रूप से मैंने सब कुछ हटा दिया /tmp) और मैं GUI और इसके माध्यम से लॉगिन करने में सक्षम था ssh


धन्यवाद! मेरे मामले में इसे /home100% तक भरा गया था, जिसे मैंने df -hCentOS 7.
RAM237
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.