체인의정석

ssh config 파일로 bastion에서 점프해서 ssh 접속하기 본문

개발/docker & linux

ssh config 파일로 bastion에서 점프해서 ssh 접속하기

체인의정석 2025. 12. 11. 18:50
728x90

보안을 위해 보통 서버에 접속할 때는 바로 접속하는것이 아닌 bastion 서버를 두게 된다.

bastion의 경우 pem 키만 있으면 접속이 가능하지만 여기서 다른 서버로 들어가기 위해서는 한번 더 접속을 해야한다.

이에 대한 작업이 반복되면 번거롭기 때문에 보통 ssh config를 통해서 각 서버에 맞는 명령어를 통해서 한번에 접속을 하도록 세팅을 해준다.

Host example-bastion-live
    HostName "Pulic IP넣기"
    User ec2-user
    IdentityFile ~/.ssh/example-live.pem
    
Host example-service-live
    HostName "Private IP넣기"
    User ec2-user
    IdentityFile ~/.ssh/example-service-live.pem
    ProxyJump example-bastion-live

예를 들어 example이라는 이름의 서비스를 관리할 때 example-bastion-live를 통해서 live환경의 베스쳔에 접속한다면 이때 public IP와 미리 해당 bastion ec2에 지정된 pem키를 넣어서 접근하면 되며, 이후 ProxyJump를 통해서 실제로 해당 베스쳔에 연결된 다른 서비스에 접근 할 수 있다. 이렇게 하면 bastion에 접속 한 후 해당 bastion에서 pem키를 통해서 다른 서버에 접속하는 과정을 쉽게 단축할 수 있다.

사용할 때는

cd ~/.ssh
ssh example-service-live
ssh example-bastion-live

위와 같이 지정해 둔 이름의 ec2로 접속이 가능하다.

만약 각 서버에 pem키를 지정해 둘 필요가 없다면 bastion에서 alias로 바로 접속이 가능하지만 보안상 각 ec2마다 허용되는 pem키들을 두고 사용하는것이 좋아 보인다.

728x90
반응형
Comments