ssh tunneling / agent forwarding / proxy /
SSH Proxy Command 사용법
아래처럼 c:\a
에 target_server.pem
,
bastion.pem
이 있다고 하자.
- a/
- target_server.pem
- bastion.pem
다음처럼 하면, ssh proxy 를 사용할 수 있다.
ssh -p 22 -i target_server.pem -o ProxyCommand="ssh -i bastion.pem -p 5555 -W %h:%p myid@12.12.12.1" myid2@11.11.11.1
위와 같이하면, myid@12.12.12.1:5555
로 proxy 를 열고,
myid2@11.11.11.1:22
에 접속하게 된다.
대략적인 흐름은 아래와 같다.
local --> myid@12.12.12.1:5555 --> myid2@11.11.11.1:22
이 방법을 ssh agent forwarding 보다 보안측면에서 낫다고 ref. 2 에서 이야기 한다.
ssh config 를 이용하기
아래처럼 config file 을 만들면, ssh target_server
를
쳐서 접속할 수 있게 된다.
# ~/.ssh/config
# comment 는 이렇게.
Host my-proxy-nick-name
Hostname 12.12.12.1
IdentityFile d:\a\bastion.pem
User namh
Port 5555
Host target_server
Hostname 11.11.11.1
ProxyJump my-proxy-nick-name
IdentityFile d:\a\target_server.pem
User admin
# Port 22
windows openssh 의 config 위치
%userprofile%\.ssh\config
에 생성하면 된다.
proxyjump, port-forwarding, agent-forwarding, tunneling
이 3개는 다른 것들이다.(아마도. ^^;)
- proxyjump
- port-forwarding :
- agent-forwarding : ref. 1 에 설명이 잘되어 있다. 그리고 ref. 2 를 보면 알지만, 이것은 ssh-agent 관련 file 이 bastion server(proxy) 에 만들어지는 듯 하다.
- tunneling
- Proxyjump, the SSH option you probably never heard of | by Khris Tolbert | Maveris Labs | Medium
- 위 글에 tunneling 과 proxyjump 의 차이를 이야기한다. 이 글의 설명대로라면, ProxyJump 는 처음 만들어진 ssh tunnel 의 target host 를 바꿔주는 역할을 한다고 하는데, Add ssh ProxyJump option :: Support Forum :: WinSCP 에서는 다들 TCP port forwarding 을 기초로 만들어져서 결국 같다라고 이야기한다. 개인적으로는 2번째 이야기가 맞을 듯 싶다. 이건 좀 더 확인이 필요하다.
See Also
- ssh "permissions are too open" - Stack Overflow : windows 에서 “permissions are too open” 에 대한 문제를 어떻게 해결하는지 알려준다.
- 쿠...sal: [컴] ssh tunneling
댓글 없음:
댓글 쓰기