이 오류를 설명하기가 어렵습니다. 설명이 길어져서 죄송합니다.
클라이언트 Beagle 보드와 서버 사이에 성공적이고 작동하며 안정적인 역방향 AutoSSH 솔루션이 고정되어 있습니다. 비글 보드는 GCN NATed 3G 연결에 있고 서버에는 실제 라우팅 가능한 IPv4 주소가 있습니다. 서버의 sshd_config 파일에서 "GatewayPorts Yes"를 설정하여 내 서비스에 대한 직접 연결(즉, 프록시 역할을 하는 서버를 통해 직접 연결)을 허용합니다.
이 솔루션은 매우 잘 작동하며 다양한 연결 끊김에 대해 내구성이 매우 뛰어납니다. 오류가 발생하는 동안에도 역방향 AutoSSH 세션은 여전히 활성화되어 있지만 서버의 게이트웨이 포트는 자동으로 유지됩니다. 나는 오류가 서버에 전적으로 포함되어 있다고 생각합니다. AutoSSH 클라이언트는 이 오류를 확인하지 않으며 수정을 시도하지도 않습니다.
이것이 출력이다netstat-anp서버에서. 포트 64, 65, 66에 세 개의 역방향 autoSSH 세션이 고정되어 있습니다. 서버 수신 측에 포트 64가 누락되어 현재 오류가 발생하고 있습니다. 출력을 단순화하고 익명화했습니다. 실제로 백포트 수는 30,000개에 달합니다.
AutoSSH 서버 IP: 1.1.1.1
AutoSSH 클라이언트 BeagleBoard의 ISP IP(이 장치는 실제로 GNC 및 NAT 뒤에 절망적으로 있다는 점을 기억하십시오): 2.2.2.2
AutoSSH 프록시 서비스 중 하나를 사용합니다: 3.3.3.3
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 1.1.1.1:22 2.2.2.2:46154 ESTABLISHED -
tcp 0 0 1.1.1.1:22 2.2.2.2:54006 ESTABLISHED -
tcp 0 0 1.1.1.1:22 2.2.2.2:39334 ESTABLISHED -
tcp 0 0 1.1.1.1:65 3.3.3.3:29860 ESTABLISHED -
tcp6 0 0 :::65 :::* LISTEN -
tcp6 0 0 :::66 :::* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
*포트 64가 누락되었지만 AutoSSH 클라이언트가 세 개의 역방향 SSH 세션을 수정했습니다. ReverseSSH 세션을 수동으로 재설정할 때까지 포트 64 서비스에 액세스할 수 없습니다.
이 문제를 복구할 수 있었던 유일한 방법은 내가 선택한 방법을 통해 기존 SSH 터널을 종료하는 것이었습니다(3G 공급자가 설정된 SSH 세션을 종료할 때까지 기다리고, 클라이언트에서 SSH 프로세스를 종료하고, 네트워크 포트를 반송하고, 다시 시작). 서버의 SSHD, 클라이언트 또는 서버를 다시 시작하는 등...). AutoSSH가 자동으로 복구되고 ReverseSSHed 서비스가 LISTENING 측에 다시 나타납니다.
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 1.1.1.1:22 2.2.2.2:46154 ESTABLISHED -
tcp 0 0 1.1.1.1:22 2.2.2.2:54006 ESTABLISHED -
tcp 0 0 1.1.1.1:22 2.2.2.2:39334 ESTABLISHED -
tcp 0 0 1.1.1.1:65 3.3.3.3:29860 ESTABLISHED -
tcp6 0 0 :::64 :::* LISTEN -
tcp6 0 0 :::65 :::* LISTEN -
tcp6 0 0 :::66 :::* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
*모든 연결이 반환된 후 포트 64가 반환되었습니다.
이는 모든 ReverseSSHed 서비스에서 무작위로 발생합니다. 이 세 가지 서비스는 각각 평균 하루에 한 번 정도 제공됩니다.
이 문제의 원인이 무엇인지, 로그를 어디서부터 살펴봐야 할지 아시나요? SSH 로그에는 실패가 표시되지 않습니다.
귀하의 통찰력에 감사드립니다.