SSH 터널 연결 끊김 문제를 해결하는 방법은 무엇입니까?

SSH 터널 연결 끊김 문제를 해결하는 방법은 무엇입니까?

원격 위치에 설치된 장치에서 부팅할 때 autossh를 통해 시작된 SSH 터널을 사용하고 있습니다. 지금까지는 모든 것이 잘 작동했지만 어제 연결이 부분적으로 중단되어 autossh가 작업을 수행할 수 없었습니다. 이런 일이 다시 발생하지 않도록 무슨 일이 일어났는지 알아내고 싶습니다. SLA 등을 처리해야 합니다.

세부사항은 다음과 같습니다:

설정

원격 사이트:

- Raspberry Pi의 Raspbian(debian wheezy) - 부팅 시 실행되는 Autossh는 서버에 연결하고 3개의 SSH 터널을 설정합니다. 터널 1: 일반 터널은 Raspberry Pi의 로컬 포트를 사무실에 있는 서버로 전달합니다. 터널 2: 역방향 터널은 서버에서 포트를 엽니다. 원격 네트워크의 장치로 터널 3: 역방향 터널은 서버의 루프백(127.0.0.1) 어댑터에서 루프백 어댑터의 Raspberry Pi SSH 포트로의 포트를 엽니다.

따라서 기본적으로 이 설정을 사용하면 서버에 SSH로 연결한 다음 각 원격 장치에 SSH로 연결할 수 있습니다.

SSH 서버:

-Debian Wheezy - 서버에 방화벽/iptables가 없습니다. 이를 위해 다른 상자를 사용합니다.

질문

두 역방향 터널(터널 2 및 3) 모두 서비스가 중단되었습니다. 산출

sudo netstat -atp | grep ssh

아직 열려 있는 유일한 포트는 터널 #1임을 나타냅니다.

서버의 터널 #1에 대한 ssh 프로세스를 종료하면 autossh가 작업을 수행하고 모든 터널이 다시 연결되지만 그렇게 할 필요는 없습니다.

이것이 autossh의 정상적인 동작입니까? 역방향 터널을 모니터링하는 autossh에 문제가 있습니까?

원격 장치의 시스템 로그

Sep  7 06:25:06 remote_hostname rsyslogd: [origin software="rsyslogd" swVersion="5.8.11" x-pid="1661" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
Sep  8 06:25:05 remote_hostname rsyslogd: [origin software="rsyslogd" swVersion="5.8.11" x-pid="1661" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
Sep  8 10:24:57 remote_hostname autossh[1428]: ssh exited with error status 255; restarting ssh
Sep  8 10:24:57 remote_hostname autossh[1428]: starting ssh (count 2)
Sep  8 10:24:57 remote_hostname autossh[1428]: ssh child pid is 24161
Sep  8 16:53:53 remote_hostname autossh[1428]: ssh exited with error status 255; restarting ssh
Sep  8 16:53:53 remote_hostname autossh[1428]: starting ssh (count 3)
Sep  8 16:53:53 remote_hostname autossh[1428]: ssh child pid is 30541
Sep  9 06:25:05 remote_hostname rsyslogd: [origin software="rsyslogd" swVersion="5.8.11" x-pid="1661" x-info="http://www.rsyslog.com"] rsyslogd was HUPed

답변1

로그 출력을 생성하기 위해 다양한 방법을 사용하고 있지만
가장 중요한 방법은 언급하지 않았습니다.

명령 ssh자체에는 "verbose" 옵션이 있습니다 -v.
더 흥미로운 점은 "매우 상세한" 옵션도 있다는 것입니다 -vv.
아, 그리고 "매우, 매우 상세하다" -vvv는 것은 실제로는 너무 상세할 수도 있습니다!

-v, -vv 또는 -vvv 옵션을 사용하여 ssh를 실행하면 추가 정보가 제공됩니까?

활성화된 옵션의 자세한 정보를 표시합니다.

$ ssh -v   localhost true |& wc -l 
56
$ ssh -vv  localhost true |& wc -l
122
$ ssh -vvv localhost true |& wc -l
282

관련 정보