SSH 서버가 작동하지 않습니다 (중지 될 때까지 다시 나타남)


12

Ubuntu Server 10.04.1을 실행 중입니다. ssh를 통해 서버에 로그인하려고 할 때 할 수 없었습니다. 대신 connection refused오류 가 발생했습니다. 기계를 핑하려고했는데 답장을 받았습니다! 따라서 SSH 데몬이 중지 되었기 때문입니다.

재부팅 후 ssh를 통해 서버에 로그인 할 수있었습니다. 얼마 후, 나는 통나무를보고 /var/log/syslog다음 기록을 발견했다.

Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2465) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2469) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2473) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2477) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2481) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2485) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2489) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2493) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2497) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2501) terminated with status 255
Jan 16 10:57:09 myserver init: ssh respawning too fast, stopped

비슷한 문제 / 해결 방법을 검색했습니다. 어떤 사람들이이 네트워크 전에 시작하려는 디먼 SSH에 의한 그들은 변화를 제안하고 있다고 말했다 ListenAddress에서 /etc/ssh/sshd_config할 수 0.0.0.0. 시스템이 시작되고 실행 된 후에 문제가 발생하기 때문에 이것이 내 경우에는 원인이 아니라고 생각합니다.

이 문제의 원인이 무엇입니까? 이것은 Ubuntu 서버이며 SSH를 사용하여 원격으로 실행되고 액세스되어야합니다.

최신 정보:

여기에서 찾은 로그 스 니펫이 /var/log/auth.log있습니다.

Jan 16 10:56:38 myserver sudo:     user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/usr/bin/vim /etc/ssh/sshd_config
Jan 16 10:57:09 myserver sudo:     user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/etc/init.d/ssh reload
Jan 16 10:57:09 myserver sshd[1465]: Received SIGHUP; restarting.
Jan 16 10:57:09 myserver sshd[2461]: Server listening on 0.0.0.0 port 22.
Jan 16 10:57:09 myserver sshd[2465]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2465]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2469]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2469]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2473]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2473]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2477]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2477]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2481]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2481]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2485]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2485]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2489]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2489]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2493]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2493]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2497]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2497]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2501]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2501]: fatal: Cannot bind any address.

SSH 데몬을 다시로드 한 후이 오류가 발생하기 시작한 것 같습니다. 대신 사용 ssh reload하고 사용 ssh restart하지 않아야합니까?


이것도 체크 아웃하십시오. 그것은 sshd_config를 sintaxis에 문제가있을 수 있습니다 bugs.launchpad.net/ubuntu/+source/openssh/+bug/911753

답변:


7

SSH가 시작 되기 직전에 무슨 일이 있었는지 확인해야합니다 syslog. 네트워킹 하위 시스템이 사망 한 경우 sshd실패한 이유를 설명 할 수 있습니다.

나는 또한 확인 /var/log/auth.log합니다. 그것은이다 sshd의 로그 및 그것은 당신에게 더 나은 오류 메시지를 줄 수 있습니다.


감사! auth.log파일 에서 많은 항목을 찾았고 질문을 업데이트했습니다.
Khaled

reload유효한 조치 여야합니다. 그것은 해야 내부 다시 시작 트리거 (바로 붙어있어 것을 시도 것으로 보인다). 다시로드 해보고 다시 끼어 있는지 확인하십시오.
Oli

실제로, 다시로드는 유효하지만 버그가 있습니다. 자세한 내용은 내 답변을 참조하십시오.
SpamapS

16

12.04 상자에서 같은 문제가 발생했습니다. 즉 같은 증상입니다. 아아, 항상 및 주소가 있는 ListenAddress절을 소개 할 ​​때 항상 발생 했습니다 . 요컨대, 로그 파일에 이와 같은 내용이 표시되지 않았지만 이것은 기형의 증상 인 것 같습니다.inetinet6sshd_configsshd_config

문제 해결 sshd

그런 경우에 일반적으로 매우 유용한 sshd것은 데몬을 사용하지 않고 시작 하는 것입니다. 내 경우의 문제는 의미있는 syslog것도 auth.log보여 주지도 않았다 .

터미널에서 시작했을 때 나는 얻었습니다.

# $(which sshd) -Ddp 10222
/etc/ssh/sshd_config line 8: address family must be specified before ListenAddress.

훨씬 낫다! 이 오류 메시지를 통해 무엇이 잘못되었는지 확인할 수있었습니다. 로그 파일 중 어느 것도이 출력을 포함하지 않았습니다.

NB : 최소한 우분투에서는 절대 경로의 요구 사항 $(which sshd)을 충족시키는 가장 좋은 방법 sshd입니다. 그렇지 않으면 다음과 같은 오류가 발생 sshd re-exec requires execution with an absolute path합니다.. -p 10222차종은 sshd이 잠재적으로 실행에 충돌하지 않도록이다 - 구성 파일을 무시하고 그 대안 포트에서 수신 대기 sshd인스턴스. 여기에서 빈 포트를 선택하십시오.

이 방법은 인증 문제 또는 다른 유형과 같은 문제를 찾는 데 여러 번 도움이되었습니다. 에 대한 자세한 정보를 얻으려면을 stdout사용하십시오 $(which sshd) -Ddddp 10222(추가 dd정보를 표시하여 자세한 정보 표시). 더 좋은 디버깅 확인을 위해 man sshd.


이 방법의 주요 장점은 기본 포트 에서 다시 시작 하지 않고도 sshd구성 을 확인할 수 있다는 것 입니다. 일반적으로 이것은 기존 SSH 연결을 방해하지 않아야하지만 그것을 보았습니다. 따라서 원격 서버에 대한 액세스를 차단하기 전에 구성 파일의 유효성을 검사 할 수 있습니다. 기계에).sshd


3
당신의 직접적인 호출 트릭은 내 베이컨을 구했습니다. 이 기술을 사용하여 해결할 수있는 sshd_config 파일 (Chef에서 생성)에 오류가 있습니다. 시간을내어 모든 사람에게 게시 해 주셔서 감사합니다.
Peter Laird

4

이것은 최근 natty로 수정되어 버그 # 687535의 결과 인 것으로 보이며, 제안 된 업데이트로 maverick 및 lucid에 업로드되었습니다.

https://bugs.launchpad.net/ubuntu/lucid/+source/openssh/+bug/687535

모두가 거기에 가서 테스트 케이스 (TEST CASE 검색)를 시도하고 제안 된 수정 사항을 설치하기 전후에 결과를 게시하도록 권장합니다. 이를 통해 SRU 팀은 확인이 완료되었다고 결정하고이를 업데이트로 릴리스 할 수 있습니다.


2

에서 /etc/ssh/sshd_config모든 예와 아니요 옵션이 모두 소문자인지 확인하십시오. 예를 PermitRootLogin No들어을 설정 하면 ssh가 시작되지 않습니다. 실제로이어야 PermitRootLogin no합니다.


1

다시 시작한 후 Linode에서 Ubuntu 11.10 이미지와 비슷한 문제가 발생했습니다. ssh 서비스는 syslog에서 생성합니다.

Mar 18 06:31:33 servername kernel: init: ssh main process ended, respawning
Mar 18 06:31:33 servername kernel: init: ssh main process (3419) terminated with status 255
Mar 18 06:31:33 servername kernel: init: ssh main process ended, respawning
Mar 18 06:31:33 servername kernel: init: ssh main process (3422) terminated with status 255
Mar 18 06:31:33 servername kernel: init: ssh respawning too fast, stopped

테스트 상자이며 약 60 일의 가동 시간이 있었으므로 어딘가에 sshd_config의 맨 아래에 추가 된 것을 설치했습니다.

ClientAliveInterval 60
ClientCountAliveMax 60

이 줄을 주석 처리하면 ssh를 시작할 수있었습니다.


0

Ubuntu ssh가 시작되지 않고 syslog에서 "init : ssh 기본 프로세스 (2044)가 상태 255로 종료되었습니다"

/ usr / sbin / sshd -Ddp 10222

확실히 sshd_config 라인 오류를 확인하기 위해 일했습니다.


-1

같은 문제가 발생했지만 상단 솔루션이 작동하지 않지만 해결 방법이 있습니다.

root@imt:~# sshd
sshd re-exec requires execution with an absolute path
ssh localhost
ssh: connect to host localhost port 22: Network is unreachable

문서마다 경로가 정상이므로 수동으로 sshd를 실행합니다.

root@imt:~# /usr/sbin/sshd 
/var/run/sshd must be owned by root and not group or world-writable

/ var / run / sshd 권한입니다.

root@imt:~# ls -ld /var/run/sshd
drwsrwsrwt 2 root root 40 Jan  5 12:58 /var/run/sshd

root@imt:~# chmod 755 /var/run/sshd

그런 다음 괜찮습니다. ssh localhost를 실행하고 확인하십시오.

root@imt:~# ssh localhost 
The authenticity of host 'localhost (127.0.0.1)' can't be established.
RSA key fingerprint is 64:93:fd:ab:4c:f9:7b:8a:86:60:22:f7:56:fa:ea:cc.
Are you sure you want to continue connecting (yes/no)? yes

1
유용한 가이드이지만 sshd로그의 매우 다른 오류 메시지에서 볼 수 있듯이 OP가 올바르게 실행되지 않은 것은 아닙니다. -1
David Foerster
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.