SSH Jump Host 설정하기

작성자 이경미 수정일 2024-02-05 17:24

#basion server, #basion, #jump, #경유서버

들어가며

  • Jump 를 사용하여 서버의 접속을 쉽게 설정할 수 있습니다.
  • Bastion Server 가 존재하는 고객사의 경우에 적용할 시 편리한 서버 접속이 가능합니다. 



내용


우리가 서버에 접속할 때에는 보통 SSH 명령어를 사용합니다. 

이 때, 서버의 IP 와 User 의 정보가 필요합니다. 

** 고객사의 경우 계정 보안으로 인해 공개키를 전달해주어야 하거나, 전달 받는 경우에는 key 를 이용하여 접속할 수 있습니다.




Client 는 다음 명령어를 통해 서버에 접속할 수 있습니다. 

ssh -i <private_key_path> -W %h:%@ clientuser@11.11.11.22


명령어를 사용하지 않고 서버에 접속하기 위해서는 .ssh/config 파일에 설정사항을 추가합니다. 

vi ~/.ssh/config
Host jump
User clientuser
Hostname 11.11.11.22
Port 22
IdentityFile ~/.ssh/<private_key>
ForwardAgent yes

설정이 완료되면 저장 후 다음 명령어를 실행하세요.

ssh jump 


서버가 정상적으로 SparklingSoDa Server 에 연결된 것을 확인할 수 있습니다. 


Bastion Server 가 있는 경우에도 Jump 를 통해 각 서버를 거치지 않고 한번에 이동할 수 있습니다. 


## 서버 여러대 jump 하기

Bastion Server 를 중간에 두고, 제품 서버에 접속한다면 JUMP 를 사용하여 한번에 이동할 수 있습니다. 


본래 통신할 수 있는 구조는 다음과 같습니다. 


Client 가 Bastion Server 에 접속하고, Bastion Server 에서 SparklingSoDA Server 에 접속해야 합니다. 


이른 config 파일 내부 Jump 명령어를 다음과 같이 추가할 수 있습니다. 

Host jump
   User clientuser
   Hostname 11.11.11.22
   Port 22
   IdentityFile <<private_key path>>
   ForwardAgent yes
Host spsd
   User clientuser
   Hostname 172.16.1.10
   IdentityFile ~/.ssh/clientuser
   ForwardAgent yes
   IdentitiesOnly yes
   ProxyCommand ssh -W %h:%p jump
   ServerAliveInterval 15


저장 후 client Server 애서 다음 명령어를 입력합니다. 

ssh spsd


Client 에서 Bastion Server 를 거쳐 SparklingSoDA Server 로 한번에 이동되는 것을 확인할 수 있습니다. 


더 간단하게 Bastion Server 로 이동하는 방법은 ProxyCommand 를 이용하지 않고 jump 하는 방법도 있습니다. 


아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.

02-558-8300