역방향 SSH 연결을 닫은 후에도 SSH 역방향 터널을 계속 사용할 수 있는 이유는 무엇입니까?

역방향 SSH 연결을 닫은 후에도 SSH 역방향 터널을 계속 사용할 수 있는 이유는 무엇입니까?

NAT 뒤에 있는 컴퓨터에 연결하기 위해 다음을 사용하여 역방향 SSH 터널을 만들었습니다.

ssh -R 9050:localhost:22 user@middleserver

대상 시스템에서. 이 명령을 입력한 터미널을 닫았습니다. 하지만 여전히 다음을 사용하여 대상 컴퓨터에 연결할 수 있습니다.

ssh destuser@middleserver -p 9050내 시스템에서

이게 정상인가요?

답변1

예, OpenSSH를 사용하면 ssh클라이언트는 다음까지 종료되지 않습니다.모두열린 전달 연결은 어느 방향에서든 닫혀 있습니다. 연결이 열려 있는 한 계속해서 새로운 연결을 허용합니다(이는 아무리 말해도 놀라운 일이 아니며 틀림없이 결함입니다).

CR 이후에 이 시퀀스를 사용하면 ~#OpenSSH는 해당 시점에 열려 있는 전달된 연결을 표시합니다. 열린 연결로 인해 로그아웃/종료/^D 후에도 지속되는 경우 종료에 사용되며 ~., 이는 터미널 에뮬레이터에서 직접 시작한 경우에만 적용됩니다. GUI/WM 환경이 세션을 시작하는 경우 프로세스가 아직 실행 중이더라도 창이 닫힐 수 있습니다.sshsshssh

관련 정보