본문 바로가기

AWS

Bastion Host 로 EC2 우회 접속 스크립트 설정

Bastion Host 와 같은 방화벽이 있을 경우 우리는 EC2 인스턴스로 접속하기 위한 과정은 다음과 같습니다.

기존 연결 흐름

1.( your-bastion-host.pem )으로 Bastion Host 접속

2. Bastion Host 에 EC2 Instance 로 접근하기 위한 public Key ( ec2.pem ) 를 넣음

3. Bastion Host 에서 ec2.pem 으로 EC2 접속

 

터미널을 열고 ssh -i 접속하고 또 scp 로 public Key를 Bastion 에 넣고 또 그걸로 ssh -i 접속하고..

위의 흐름으로 사용하다 보니 이만저만 귀찮은게 아니었다

EC2 우회접속을 하려면 항상 저런 흐름으로 번거롭게 해줘야 하나?

이에 대한 궁금증은 ssh -J 터널링으로 쉽게 해결 할 수 있었다.

 

MacOS or Linux 기준

~/.ssh/config 에 아래와 같은 형식의 Config 설정

Host myungsworld
    HostName 12.34.567.890
    User ec2-user
    IdentitiesOnly yes
    IdentityFile ~/.ssh/your-bastion-host.pem

HostName : Bastion 의 퍼블릭 IP

User : ec2-user 가 디폴트 , IAM 으로 변경했다면 확인 필요

 

이후 터미널에서 ssh -J 와 위의 Host 를 적어주면 한줄의 스크립트 코드로 EC2 우회접속이 가능해졌다.

ssh -J myungsworld -i ~/.ssh/ec2.pem ec2-user@{EC2 Instance private IP}

 

 

혹시 나중에 또 설정을 할 날이 온다면 구현하기 쉽게 글을 적는 것이니 도움이 되셨으면 좋겠습니다.