SSH Remote Port Forwarding

개요



SSH의 원격 포트 포워딩을 이용함으로써,
FW등에 의해 외부에 밖에 통신할 수 없는 네트워크에 대해서, FW를 넘어 통신할 수 있습니다.

존재 자체는 알고 있었지만 의외로 편리했습니다.

이미지



포워딩 전


포워딩 후


전제



· 경유 서버로부터 유저 PC에 ssh 접속할 수 있는 것

설명



이 기사 을 주로 참고했습니다.

예를 들어, 다음과 같이하면 "경유 서버로"에서 "사용자 PC"로
ssh 접속을 하는 동시에, 「사용자 PC」의 「10080 포트」를 「접속 서버」의 「80 포트」에 포워딩 하게 됩니다.

따라서 사용자 PC에서 "http://localhost:10080"에 액세스하는 것은
즉 "http://[접속 서버]:80"에 액세스한 것입니다.
# 経由サーバから実行
$ ssh -R 10080:[接続サーバのIPアドレス]:80 [ユーザPCのIPアドレス]

이것을 적용하면 네트워크에서 조금 멀지 만
한층 더 유저 PC(Linux)에 socat를 설정하거나 하는 것으로 유저 PC(Linux)를 발판 서버로서 이용할 수 있다고 생각합니다.

예를 들어, 위의 예라면 사용자 PC의 10080 포트를 80 포트로 제공함으로써 연결 서버의 80 포트에 통신하도록 할 수 있습니다.
# ユーザPCで実行
$ socat tcp4-listen:80,reuseaddr,fork TCP:127.0.0.1:10080

위와 같이 socat을 설정하면 다른 PC에서 사용자 PC의 포트 80에 액세스하여 연결 서버의 80에 액세스하는 것처럼 보일 수 있습니다.

참고



· ssh 포트 포워딩

· Linux를 통해 원격 데스크톱 연결을 전달

좋은 웹페이지 즐겨찾기