아래와 같이 web proxy server를 경유해서 ssh server에 접속하는 방법을 적는다.
PC -> Web Proxy Server ----------> nginx(testserver:8888) -> ssh server(testserver:22)
서버 설정
패키지 설치
$ sudo apt install nginx-light libnginx-mod-stream $ sudo mkdir /etc/nginx/stream-enabled
nginx 설정
/etc/nginx/nginx.conf에 아래와 같은 내용을 추가한다.
stream {
include /etc/nginx/stream-enabled/*;
}
/etc/nginx/stream-enabled/test.conf 파일을 만든다.
upstream ssh {
server 127.0.0.1:22;
}
server {
listen 8888;
proxy_pass ssh;
}
설정이 바르게 되었는지 확인한다.
$ sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
nginx를 다시 시작한다.
$ sudo systemctl restart nginx.service
접속 방법
linux
$ ssh -p 8888 foo@testserver -o "ProxyCommand=nc -X connect -x proxyserver:proxyport %h %p"
~/.ssh/config을 만들어 두는 것이 더 편하다.
Host myfoo
Hostname testserver
User foo
Port 8888
ProxyCommand nc -X connect -x proxyserver:proxyport %h %p
$ ssh myfoo
Windows
PuTTY 의 proxy 설정을 이용한다.