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}
혹시 나중에 또 설정을 할 날이 온다면 구현하기 쉽게 글을 적는 것이니 도움이 되셨으면 좋겠습니다.
'AWS' 카테고리의 다른 글
AWS Cognito 소셜로그인 인증 구현 (golang) (2) | 2022.06.17 |
---|---|
S3 영상이 재생이 안되고 다운로드가 된다? (0) | 2022.04.27 |
CloudFront 사용시 주의할 점 (0) | 2022.04.15 |
각서버마다 VPC? or VPC에 서브넷을 더 나누기? (0) | 2022.01.18 |
AWS EC2 502 Bad gateway 및 API Timeout 에 관련된 문제 해결 (0) | 2021.11.29 |