EC2 SSH 접속을 좀 더 간편하게!

SSH 접속을 조금 더 간편하게 하는 방법에 대해서 정리해 봤습니다.
2022.01.19

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 SSH 접속을 조금 더 간편하게 하는 방법에 대해서 정리해 봤습니다.

준비물

  • EC2 키 페어
  • hostname (EC2의 아이피 주소면 됩니다.)
  • username (default값은 ec2-user로 되어있습니다.)

설정

mkdir -p ~/.ssh

.ssh 디렉토리를 생성합니다.

vi ~/.ssh/config

config 파일을 생성합니다.

Host ec2-bas
 HostName ec2-bas-ip 입력
 port 22
 User ec2-user
 IdentityFile Desktop/BastionEC2.pem

그리고 다음과 같이 작성합니다.

여기서 Host는 접속할 ssh 명령어라고 보면 됩니다. 예를 들어「ssh ec2-bas」명령어로 ec2에 접속할 수 있습니다.

HostName은 EC2의 IP 주소를 적어주면 됩니다 (탄력적 IP를 할당하지 않으면 매번 IP 주소가 바뀌기 때문에 주의)

IdentityFile은 접속할 EC2 인스턴스의 키페어 경로입니다.

Host ec2-bas
 HostName ec2-bas-ip 입력
 port 22
 User ec2-user
 IdentityFile Desktop/BastionEC2.pem

Host ec2-private
 HostName ec2-private-ip 입력
 port 22
 User ec2-user
 IdentityFile Desktop/BastionEC2.pem/PrivateEC2.pem
proxyCommand ssh ec2-bas -W %h:%p

이어서 proxyCommand를 추가해서 ec2-private를 작성합니다.

이렇게 작성한 내용을 바탕으로「ssh ec2-private」명령어로 간단하게 Private Subnet에 있는 EC2 인스턴스에 접속할 수 있습니다.

해당 명령어를 통해 로컬에서 베스천 호스트 -> 프라이빗 인스턴스 와 같이 접속을 여러번 할 경우 이러한 번거로움을 해소할 수 있을거라 생각합니다.

참고