두 컴퓨터 사이에 신뢰할 수없는 네트워크 연결이 있습니다. 때때로 제어 할 수없는 이유로 활성 TCP 연결이 끊어집니다. 두 컴퓨터 사이에 안정적인 TCP 연결 을 설정하고 싶습니다 .
네트워크가 안정적이라면 ssh -L 1234:localhost:1234 remotehost
서버는 포트 1234를 수신 대기 remotehost
하고 클라이언트를 가리켜 실행합니다 localhost:1234
. 그러나 ssh 연결이 종료되면 전달 연결도 마찬가지입니다. 클라이언트와 서버 간의 연결을 자동으로 복원하려면 어떻게해야합니까?
비 솔루션 :
- 대화 형 응용 프로그램 용이 아니므로 화면 이 적용되지 않습니다.
- 이것은 단지, 자동으로 라 SSH를 터널을 다시 연결에 대한 아니다 autossh를 . 동일한 터널링 된 TCP 연결을 계속 사용하고 싶습니다. 새 연결은 시작하지 않습니다.
- 원칙적으로 VPN이 트릭을 수행합니다. 그러나 TCP 연결을 하나만 원하면 과도하게 보일 수 있으며 양쪽에 루트 권한이 없어도 작동하는 솔루션을 원합니다.
나는 그 일을하는 프로그램의 희미한 기억 rocks
을 가지고 있지만 웹의 얼굴에서 떨어진 것 같습니다. 나는 주로 양측의 리눅스에 관심이 있지만 (이 레벨의 프로그램은 다른 유니스에 이식 가능할 것으로 기대하지만) QNX와 VMS 사이에서 작동하는 프로그램을 알고 있다면 더 좋습니다.
scp
. 포트 포워딩 예제를 기반으로 ssh keepalives로 응답하고있었습니다. Re : 비정상적인 다운 스트림 홉, 더 견딜 수 있는 keepalives로 ssh 세션을 만드는 것 외에는 할 수있는 일이 많지 않습니다 (예 : ServerAliveInterval > 0
및을 사용 하여 삭제 된 keepalives를 더 많이 허용 ServerAliveCountMax > 3
). NAT는 더 낮은 유지 간격을 요구합니다. 중요한 문제는 문제가 무엇인지 식별하고 그에 따라 조정하는 것입니다. 옵션 .ssh/config
은 항상 당신을 위해 거기에 넣습니다
rocks
구현을 희망하는 것보다 할 수있는 일은 많지 않습니다 . 비록 이것이 명백한 문제이지만