SSH 터널, 터널 뒤의 서버 포트 정보를 아는 방법

SSH 터널, 터널 뒤의 서버 포트 정보를 아는 방법

나는 이것을 달성하는 방법을 찾기 위해 Google을 시도했지만 찾을 수 없었습니다.

기본적으로 이와 같은 명령을 사용하여 배스천 호스트를 통해 여러 원격 호스트에 대한 SSH 터널을 만들었습니다.

ssh -L 9000:ourprodserver.domain.com:1521 \
    -L 9001:otherprodserver.domain.com:1521 \
-A -l [email protected] somebastionhost.domain.net

이제 터널이 활성화될 때 로컬 포트에 매핑된 연결 세부 정보를 어떻게 알 수 있습니까?

즉, 이 양식의 목록을 만들고 싶습니다.

L_port         Remote_host            R_port
9000       ourprodserver.domain.com   1521
9001       otherprodserver.domain.com 1521

가능합니까?

답변1

간단한 솔루션이 있지만 목록만 나열됩니다.현재 활동 중터널링된 연결: SSH 이스케이프 시퀀스를 사용합니다.~#

터널링을 사용하지 않으면 표시되지 않습니다.

도움말에서(활성 SSH 연결 내에서 ~?로 표시됨):

~# - 전달된 연결 나열

예시 출력은 다음과 같습니다:

user@somebastionhost$ ~#
The following connections are open:
  #4 client-session (t4 r0 i0/0 o0/0 fd 9/10 cc -1)
  #5 direct-tcpip: listening port 9000 for ourprodserver.domain.com port 1521, connect from 127.0.0.1 port 48954 to 127.0.0.1 port 9000 (t3 nr0 i0/0 o0/0 fd 12/12 cc -1)

클라이언트 측에서는 열린 TCP 소켓을 나열하여 열린 터널, 심지어 비활성 터널에 대해 알아볼 수 있습니다.

lsof -n -p <pidof-ssh-client> -a -iTCP -a -sTCP:LISTEN

이것이 귀하의 질문에 정확히 대답하지는 않지만 출발점이 될 수 있습니다.

관련 정보