-
[Network] Proxy 활용 - SSH 터널링Study/Network 2023. 1. 8. 22:12
SSH Proxy
보통은 원격에서 커맨드 라인으로 접속하기 위해서 사용하지만, SSH를 활용하여 Proxy와 유사한 기능을 수행 할 수 있음
SSH Tunneling 혹은 SSH Port Forwarding이라고도 부름
SSH 서버 설정
기본적으로 Openssh 서버를 설치만 하면 됨
sudo apt-get install openssh-server
만약 포트포워딩이 안될 경우, sshd_config파일에서 옵션 확인
cat /etc/ssh/sshd_config ... AllowTcpForwarding no -> yes X11Forwarding no -> yes ...
SSH Tunneling 종류
1. Local SSH Tunneling : SSH 클라이언트의 요청이 SSH 서버를 통해 대상 서버로 전달
2. Remote SSH Tunneling : SSH 서버의 요청이 SSH 클라이언트를 통해 대상 서버로 전달
3. Dynamic SSH Tunneling : Socks 프로토콜을 이용하여 다양한 프로그램의 요청이 SSH 클라이언트 -> SSH 서버 를 통해, 대상 서버로 전달
1. Local SSH Tunneling
로컬컴퓨터에서 SSH 서버를 통해 목적지(Target)서버로 요청을 보낼 수 있음
사용자가 목적지(Target)서버로 바로 접속할 수 없을때 사용함
예제 시나리오
1. 사용자는 내부망에 존재하며, 외부에 있는 목적지 서버(targetserver.com)로 접속이 차단되어 있음
2. 사용자는 외부에 있는 SSH 서버에 연결할 수 있음
3. SSH 서버는 목적지 서버로 연결할 수 있음
4. 사용자는 SSH Local Tunneling을 통해, 내 로컬 포트와 목적지서버의 포트를 연결함
SSH Client Command
ssh -L 10022:targetserver.com:22 eunbig48@sshserver.org ssh -L 10080:targetserver.com:80 eunbig48@sshserver.org
결과
1. 목적지 서버에 SSH 연결
2. 목적지 서버에 웹서비스 접속
2. Remote SSH Tunneling
내부망 컴퓨터에서 SSH 서버와 자신을 통해 목적지(Target)서버로 요청을 보낼 수 있음
'Study > Network' 카테고리의 다른 글
[Network] Proxy (0) 2023.01.08