
오늘 아침부터 리모컨에 연결하려고 하면 다음과 같은 오류 메시지가 나타납니다.우분투 14.04 LTS기계를 ssh
통해맥북에어 요세미티 10.10.1.
ssh_exchange_identification: read: Operation timed out
플래그를 사용하면 -vvv
다음과 같은 자세한 메시지가 나타납니다.
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 102: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to XXX.XXX.XXX.XXX [XXX.XXX.XXX.XXX] port 22.
debug1: Connection established.
debug1: identity file /Users/felix/.ssh/id_rsa type -1
debug1: identity file /Users/felix/.ssh/id_rsa-cert type -1
debug1: identity file /Users/felix/.ssh/id_dsa type -1
debug1: identity file /Users/felix/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
ssh_exchange_identification: read: Operation timed out
여러 달 동안 이 연결은 완벽하게 작동했습니다. 나는 어떤 문제도 경험한 적이 없습니다. 발견과 같은 다른 솔루션여기그리고여기도움이되지 않았습니다.
이 문제를 해결하는 방법에 대한 제안 사항이 있습니까?
답변1
debug1: Local version string SSH-2.0-OpenSSH_6.2
ssh_exchange_identification: read: Operation timed out
디버그 추적에 따르면 원격 SSH 서버에 대한 연결을 관리하고 있으며 서버는 연결을 끊지 않지만 서버는 소프트웨어 식별 문자열을 보내지 않습니다. 이는 클라이언트와 서버가 수행하는 첫 번째 작업이며 일반 텍스트로 수행됩니다.
내 생각에 문제는 다음 세 가지 중 하나로 귀결될 것 같습니다.
귀하와 서버 사이의 일부 네트워크 장치가 연결을 방해하고 있습니다. 예를 들어 원격 호스트가 NAT 라우터 뒤에 있는 경우 포트 22에 대한 포트 전달이 잘못 설정되어 잘못된 서비스에 연결될 수 있습니다.
원격 호스트의 SSH 서버 프로그램이 중단되었거나 제대로 작동하지 않을 수 있습니다. 예를 들어 호스트의 과부하가 심하거나 가상 메모리가 부족한 경우 이런 종류의 일이 발생하는 것을 본 적이 있습니다. 아니면 서버가 다음과 같은 것을 사용하고 있을 수도 있습니다.TCP 래퍼, 해결하는 데 오랜 시간이 걸리는 클라이언트 IP에 대한 DNS 쿼리를 수행하고 있습니다.
원격 호스트가 비정상적인 방식으로 설정되었으며 포트 22에서 실행되는 서비스는 SSH 서버가 아닙니다.
서버에 접근할 수 있으면 거기에 문제 해결에 집중하세요. SSH 서버에 대한 로그를 찾으십시오. 해당 로그가 있어야 하며 /var/log
실패한 연결 시도에 대한 기록이 있는지 확인하십시오. 서버에서 localhost로 ssh를 실행하여 제대로 작동하는지 확인하세요.
서버에 대한 루트 액세스 권한이 있는 경우 디버깅 인스턴스를 시작하여 sshd
클라이언트가 연결할 때 기록되는 내용을 확인할 수 있습니다. 일반 sshd
서버를 중지하고 루트 터미널 창에서 /path/to/sshd -d
. 그러면 하나의 연결을 허용하고 디버깅 정보를 터미널 창에 인쇄하는 sshd 복사본이 실행됩니다. 문제를 재현할 수 있는지 확인한 다음 서버가 기록한 내용을 검사하십시오.
일반 SSH 서버를 오프라인으로 전환할 수 없는 경우 다른 포트에서 sshd를 실행할 수 있습니다. /path/to/sshd -p 42 -d
포트 42에서 수신 대기 중인 sshd의 복사본을 실행합니다. SSH 클라이언트를 실행할 때 동일한 포트 번호를 지정합니다 ssh -p 42 user@host
. 네트워크 장치의 간섭으로 인해 문제가 발생한 경우 포트 22에 대한 연결과 다르게 동작할 수 있습니다.