나는 이것을 달성하는 방법을 찾기 위해 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
이것이 귀하의 질문에 정확히 대답하지는 않지만 출발점이 될 수 있습니다.