내가 마지막으로 기억하는 것은 소프트 및 하드 메모리 잠금 ulimit를 무제한으로 변경한 것입니다. 이제 컴퓨터에 SSH로 접속할 수 없습니다.
이것은 SSH 로그입니다.
Authenticated to IP ([IP]:22).
debug1: channel 0: new [client-session]
debug2: channel 0: send open
debug1: Requesting [email protected]
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 [email protected] 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
여기에 게시하기 전에 지금까지 성공하지 못한 채 다음을 시도했습니다.
norc noprofile을 사용하여 로그인해 보세요.
ssh user@host 'bash --noprofile'
강제로 tty
ssh -t user@host
bash_profile을 옮겼습니다. SSH를 통해 시도해 보세요
ssh user@host
.파일 이름을 바꾸고
limits.conf
읽지 않기를 바랍니다.SSH 서버를 다시 시작하십시오.
knife
as를 통해 명령 실행knife ssh "name:server" "come_command"
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"
inline: 명령을 실행하는 이 방법이 간단한 디렉토리 목록을 얻을 수 없기 때문에 작동하는지 잘 모르겠습니다 . 재부팅도 시도했지만 ssh user@host 'reboot'
명령이 실행되지 않은 것 같습니다. 또한 성공하지 못한 채 AWS에서 머신을 다시 시작했습니다.
SSH 시도가 실패합니까? ssh로 서버에 접속할 수 있는 방법이 있나요?
답변1
변화를 시도하다
UsePAM yes
존재하다
UsePAM no
(
/etc/ssh/sshd_config
CentOS용)
답변2
비슷한 문제가 있는데 다음과 같은 이상한 메시지만 보이는 것 같습니다.
client_input_channel_req: channel 0 rtype exit-status reply 0.
내가 ssh
입력 하려는 사용자기본 쉘이 없습니다..
다음 명령을 실행했습니다.
chsh -s $(which sh) username
그러면 나는 할 수 있었다 ssh
.
노트:
실행하면 su username
종료 코드 1
(실패)가 반환되고 이제 제대로 작동합니다.
답변3
커널 매개변수 파일 /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
답변4
나는 이것을 만났다맥 OS X작동하게 만드는 구성 에 문제 가 ~/.bashrc
있지만ssh
sftp
아니요일하다. @stéphane-chazelas는 위의 댓글에서 올바른 생각을 갖고 있는 것 같습니다.
SSH를 통해 원격 시스템에서 이름을 변경 ~/.bashrc
하고 ~/.bashrc-MOVED
다시 시도하여 작동하는지 확인한 다음 ~/.bashrc
문제를 복구하고 식별하십시오.
내 시스템에는 ~/.bashrc
다음이 포함되어 있습니다 .
if [ -z "$PS1" ] ; then
exit
fi
이것이 범인일 수 있습니다.