Search

241015_1739_SSH 터널링 사용하기 (in.CentOS)

SSH 터널링은 SSH 프로토콜을 사용해 네트워크 상의 포트를 보호된 터널을 통해 안전하게 연결하는 방법
원격 서버와의 통신을 암호화해 보안성을 높임
주로 방화벽을 우회하거나 원격 서버에 안전하게 접속하는 데 사용됨

SSH 터널링 종류

1.
로컬 포트 포워딩
로컬 머신의 포트를 원격 서버의 특정 포트로 포워딩
원격 서버에 안전하게 접속할 때 사용
ssh -L [로컬 포트]:[원격 서버 IP]:[원격 포트] [사용자]@[원격 서버 IP]
Shell
복사
예시:
ssh -L 8080:192.168.0.10:80 user@remote-server
Shell
복사
로컬 머신의 8080 포트를 원격 서버의 80 포트로 포워딩해, 브라우저에서 localhost:8080으로 접속 시 원격 서버의 80 포트에 접속됨
2.
원격 포트 포워딩
원격 서버의 포트를 로컬 머신의 포트로 포워딩
로컬 서버에서 제공하는 서비스를 원격 서버를 통해 다른 곳에서 접근 가능하게 할 때 사용
ssh -R [원격 포트]:[로컬 머신 IP]:[로컬 포트] [사용자]@[원격 서버 IP]
Shell
복사
예시:
ssh -R 8080:localhost:80 user@remote-server
Shell
복사
원격 서버의 8080 포트를 로컬 머신의 80 포트로 포워딩
3.
다이나믹 포트 포워딩
로컬 머신에서 여러 포트를 사용해 원격 서버로 접속
SOCKS 프록시 서버 역할을 함
ssh -D [로컬 포트] [사용자]@[원격 서버 IP]
Shell
복사
예시:
ssh -D 8080 user@remote-server
Shell
복사
로컬 머신의 8080 포트를 SOCKS 프록시로 설정해, 다양한 목적지와 통신 가능

CentOS에서 SSH 터널링 사용 방법

1.
SSH 클라이언트 설치 여부 확인
ssh -V
Shell
복사
OpenSSH가 설치되어 있는지 확인
2.
SSH 접속 설정
/etc/ssh/sshd_config 파일을 열어 포트 포워딩 설정 확인
AllowTcpForwarding 값이 yes로 설정되어 있어야 SSH 터널링이 가능
3.
SSH 터널링 사용
앞서 설명한 방법을 사용해 로컬, 원격, 다이나믹 포트 포워딩을 설정
4.
터널링 종료
터널링을 중지하려면 SSH 세션을 종료하거나 터미널에서 Ctrl + C를 눌러 SSH 연결을 종료

실습

ssh -L 9201:localhost:9201 -p 12345 admin@123.111.2.33
JavaScript
복사
명령어 ssh -L 9201:localhost:9201 -p 12345 admin@123.111.2.33의 의미는 다음과 같음.
1.
ssh
SSH(보안 셸)를 사용해 원격 서버에 접속하는 명령어
2.
L 9201:localhost:9201
로컬 포트 포워딩 설정
로컬 머신의 포트 9201을 원격 서버 123.111.2.33localhost:9201로 포워딩
즉, 로컬 머신에서 localhost:9201에 접속하면 원격 서버의 localhost:9201에 접속됨
이 때 원격 서버의 localhost는 원격 서버 자신을 의미하므로, 123.111.2.33 서버에서 실행 중인 서비스에 연결됨
3.
p 12345
SSH가 사용하는 포트 지정
기본적으로 SSH는 포트 22를 사용하지만, 여기서는 12345 포트로 SSH 연결 시도
4.
admin@123.111.2.33
admin 사용자를 통해 원격 서버 123.111.2.33에 접속
원격 서버에 admin 사용자 계정으로 로그인

요약

로컬 머신의 포트 9201을 원격 서버 123.111.2.33localhost:9201로 포워딩
SSH 포트 12345를 통해 admin 계정으로 원격 서버에 접속
로컬에서 localhost:9201로 접속하면 원격 서버에서 실행 중인 localhost:9201의 서비스에 연결됨

안녕하세요

한국전자기술연구원 김영광입니다.
관련 기술 문의와 R&D 공동 연구 사업 관련 문의는 “glory@keti.re.kr”로 연락 부탁드립니다.

Hello

I'm Yeonggwang Kim from the Korea Electronics Research Institute.
For technical and business inquiries, please contact me at “glory@keti.re.kr”