많은 LocalForward 포트를 통한 autossh

많은 LocalForward 포트를 통한 autossh

기본 서버에 연결해야 합니다. 이를 server1이라고 부르겠습니다. 그런 다음 거기에서 다른 많은 서버(host1, host2, ...host99)에 액세스할 수 있습니다. 내 autossh는 아무 문제 없이 server1과 작동합니다. 복구됩니다. 내 연결은 다음과 같습니다. 네트워크 연결이 끊어질 때마다 server1로 전송됩니다. 그러나 server1에 대한 연결을 유지하는 것이 나의 유일한 목표는 아닙니다. 이 컴퓨터를 사용할 때 호스트 1, 2 등에 계속 연결하고 싶습니다.

나는 이것을 사용하여 server1에 액세스합니다.

autossh server1

이제 Host1에 autossh를 시도하면 다음과 같은 결과가 나타납니다.

local autossh[867] <Error>: bind on 127.0.0.1:12346: Address already in use

현재 내 모니터링 포트는 12345(~/.bash_profile)로 설정되어 있습니다.

export AUTOSSH_PORT=12345

...localhost 포트가 1234인 것 같습니다.6다음에 시도했지만 실패했습니다.

내 ~.ssh/config에는 다음과 같은 전달 설정이 있습니다.

Host server1
  User jacob
  HostName server1.mydomain.com
  Port 722
  ForwardAgent yes
  LocalForward 1124 1:22
  RemoteForward 52698 127.0.0.1:52698 #for sublime text / rmate
  IdentityFile ~/.ssh/id_rsa

Host host1
 User jacob
 HostName localhost
 RemoteForward 52698 127.0.0.1:52698
 Port 1124
 ForwardAgent yes
 IdentityFile ~/.ssh/id_rsa

...."주소가 이미 사용 중입니다" 오류에 대한 모든 내용을 읽고 구성 파일을 수정하여 etc/hosts 파일에 호스트를 추가하려고 시도했지만 여전히 동일한 결과가 나타납니다. 어떤 아이디어가 있나요?

답변1

(man 페이지) 에 따르면 man autossh모니터링 포트는 단일 숫자로 지정되며 autossh모니터링 기능을 위해 해당 포트와 포트 +1을 모두 사용합니다. 여기서 후자를 "에코 포트"(모니터링 응답 수신용)라고 합니다. 이는 포트 +1에서 수신 대기하여 해당 포트를 요구한다는 의미입니다. 후속 프로그램에는 autossh다른 포트를 제공해야 합니다 .

또는 연결 테스트를 종료한 다음 ssh종료 시 다시 시작하는 포트 0을 사용할 수 있습니다. 매뉴얼 페이지를 인용하면 다음과 같습니다.

모니터링 포트를 0으로 설정하면 모니터링 기능이 꺼지고, autossh는 ssh가 종료될 때만 ssh를 다시 시작합니다. 예를 들어 최신 버전의 OpenSSH를 사용하는 경우 다음을 사용하여 탐색할 수 있습니다. 서버 활동 간격그리고서버 최대 활동 수SSH 클라이언트가 더 이상 서버에 연결되어 있지 않음을 발견하면 종료하도록 선택할 수 있습니다. 여러 면에서 이는 모니터링 포트보다 더 나은 솔루션일 수 있습니다.

관련 정보