sshd가 연결을 거부합니까?

sshd가 연결을 거부합니까?

어떤 이유로 가상 머신에서 서버 팜에 있는 원격 가상 서버에 액세스할 수 없고 대신 다음과 같은 오류 메시지가 나타납니다.

   OpenSSH_5.9p1, OpenSSL 1.0.0g 18 Jan 2012
   debug1: Reading configuration data /etc/ssh/ssh_config
   debug1: /etc/ssh/ssh_config line 20: Applying options for *
   debug1: Connecting to www.xxx.de [XXX.XXX.XXX.XXX] port 22.
   debug1: Connection established.
   debug1: permanently_set_uid: 0/0
   debug1: identity file /root/.ssh/id_rsa type -1
   debug1: identity file /root/.ssh/id_rsa-cert type -1
   debug1: identity file /root/.ssh/id_dsa type -1
   debug1: identity file /root/.ssh/id_dsa-cert type -1
   debug1: identity file /root/.ssh/id_ecdsa type -1 
   debug1: identity file /root/.ssh/id_ecdsa-cert type -1
   ssh_exchange_identification: Connection closed by remote host

최근에 리버스쉘쿵푸도 많이 하고, 얼마전에 방어스크립트도 셋업했는데? 뭐가 문제 야? 내 서버는 Suse 12.1을 실행합니다.

답변1

SSH 클라이언트에 해당 호스트에 대한 오래된 키가 있는 것 같습니다. 어떻게 정리해야 할지 잘 모르겠지만 ID 파일 부분에서는 이것이 사실일 수 있다고 나에게 제안합니다.

답변2

이 오류는 여러 가지 원인으로 인해 발생할 수 있지만 항상 서버 문제를 나타내며, 대부분 파일 시스템이나 디렉터리 권한과 관련되어 있습니다(변경하지 않은 경우에는 그럴 가능성이 낮음). 원격 서버 루트 fs가 읽기 전용으로 다시 마운트되었거나 디스크 오류 등이 있을 수 있습니다. 시스템 오류 로그에 뭔가가 표시되어야 합니다. 가능하다면 최대한 빨리 종료하고 파일 시스템 검사를 받아야 합니다. 파일 시스템을 수정하면 대부분의 경우 문제가 해결됩니다.

답변3

나는 이러한 종류의 문제를 서버 측에서 디버깅하는 것이 더 쉽다고 생각합니다(서버로 이동할 수 있거나 다른 액세스 수단이 있다고 가정).

sshd 로깅 수준을 설정하고 sshd가 연결 종료를 위해 제공하는 이유로 로그를 검사할 수 있습니다.

man sshd라고

LogLevel
sshd(8)에서 메시지를 기록할 때 사용되는 자세한 수준을 제공합니다. 가능한 값은 QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 및 DEBUG3입니다. 기본값은 정보입니다. DEBUG와 DEBUG1은 동일합니다. DEBUG2 및 DEBUG3은 각각 더 높은 수준의 디버깅 출력을 지정합니다. DEBUG 수준의 로깅은 사용자의 개인 정보를 침해하므로 권장되지 않습니다.

답변4

TCP 연결이 수락되고 즉시 닫히면 다음을 사용하여 차단되었을 가능성이 매우 높습니다.tcp_wrappers, 이는 거의 항상 을(를) 의미합니다 denyhosts. 설치했다는 의견에서 언급한 것입니다.

가능하다면 다른 주소(예: 프록시를 통해)에서 연결을 시도하고 목록에 있는지 확인하세요 /etc/hosts.deny. 당신이있는 경우,따르다이 지침여섯 개의 데이터베이스에서 귀하의 주소를 제거하려면거부 호스트유지합니다. 선택적으로 에 자신의 주소를 추가할 수도 있습니다 /etc/hosts.allow.

귀하의 웹서버는 다음을 사용하지 않기 때문에 계속 작동합니다.tcp_wrappers성능상의 이유로. (실제로는 프로그램이 거의 없습니다.사용그것.)

관련 정보