linux-ssh-서버우회해서 접속하기 & local port forwarding

상황

ssh 로 원격접속해서 작업을 하던 서버가 있다.
어느날 부터 접속이 안된다.
내 피시와 서버 둘다 연결가능한 서버가 있다.

정리하면,
서버 A 는 서버 C로 ssh 접속이 안된다.
서버 A 는 서버 B로 ssh 접속이 가능하며, 서버 B에서 서버 C로 ssh 접속이 가능하다.

여기서 IP 주소는 다음과 같다고 하자,
서버 A (server-a) : 10.10.10.11
서버 B (server-b): 10.10.10.22
서버 C (server-c) : 10.10.10.33

해결책

서버 A 터미널에서 다음과 같이 ssh 를 두 번 쓴다.
서버 A -> 서버 B로 접속 -> 서버 B로 연결된 상태에서 서버 C로 접속

[server-a@10.10.10.11] $ ssh server-b@10.10.10.22
[server-b@10.10.10.22] $ ssh server-c@10.10.10.33
[server-c@10.10.10.33] $

특정포트로 데이터 요청 보내야할때

포트포워딩을 통해 해결할 수 있다.

server-a 에서 server-c 80번 포트로 바로 요청은 불가한 상태.
하지만 server-b는 가능하다고 하면,

server-a의 포트 1234로 접속시 server-c를 통해서 server-b의 80번 포트로 연결되도록 터널링을 구성할 수 있다. 아래 명령어를 server-a에서 실행한다.

[server-a@10.10.10.11] $ ssh -L 1234:10.10.10.33:80 server-b@10.10.10.22

위 명령어를 실행하면 터널링이 구성되고, 이후 요청을 server-a가 localhost 1234포트로 보내면된다.

[server-a@10.10.10.11] $ curl -v localhost:80

위 명령을 보내면 server-c 10.10.10.33:80 으로 요청이 전송된다.

댓글 쓰기

0 댓글