본문 바로가기
카테고리 없음

[AWS] AWS EC2 SSH 없이 접근하기 (feat.SSM)

by james_janghun 2024. 11. 21.

간혹 SSH의 키관리가 부담스럽거나, 패스워드로 접근하는게 보안상 부담스러우신 분들

그리고 추가적으로 VPC내 private subnet에 잠자고 있는 EC2의 경우에 해당 옵션을 이용해볼 수 있습니다.

보안적으로도 우수하기 때문에 AWS에서도 권장하는 방식입니다.

 

이 방식은 SSM Agent를 이용해 IAM 인증권한을 통해 접근하는 방식입니다.

 

자세한 건 공식문서를 확인해봅시다.

https://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/session-manager.html

 

AWS Systems Manager Session Manager - AWS Systems Manager

AWS Systems Manager Session Manager Session Manager는 종합 관리형 AWS Systems Manager 기능입니다. Session Manager를 사용하여 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스, 엣지 디바이스, 온프레미스 서버 및 가상 머

docs.aws.amazon.com

 

 

 

IAM 역할 생성

EC2가 AWS System Manager(SSM)에 접근할 권한이 필요합니다. 구체적으로 AmazonSSMManagedInstanceCore 해당 역할이 필요합니다.

 

 

IAM > 역할 생성으로 접근합니다.

 

 

 

신뢰할 수 있는 엔터티에서 EC2를 선택합니다.

 

 

 

권한 추가에서 AmazonSSMManagedInstanceCore를 선택하신 후 다음

 

 

이름은 본인이 좋아하는 예쁜 이름을 지어줍니다. 그리고 맨 아래 [역할 생성] 버튼을 클릭하시면 됩니다.

 

 

 

그럼 이 역할은 EC2에서 사용할 수 있는 역할이므로 EC2서비스로 이동합니다.

 

 

내가 원하는 인스턴스를 선택하고 작업 > 보안 > IAM 역할 수정을 선택합니다.

 

 

 

자 이제 모든 준비가 완료되었습니다.

 

AWS 콘솔에서 접근

이제부터는 접근 방법입니다. 콘솔 접근부터 알아봅시다.

 

아까 만든 SSMQuickStart를 선택하고 IAM 역할 업데이트를 눌러줍니다.

 

 

 

이제 인스턴스 선택 후 연결 버튼을 클릭합니다.

 

 

Session Manager에서도 연결 버튼이 활성화 된 것을 확인할 수 있습니다.

 

 

 

CLI에서 접근

이제는 내 컴퓨터에서 CLI로 접근하는 방법을 알아보겠습니다. (Mac OS 기준)

먼저 awscli가 없으시면 이것을 먼저 설치하고 aws-session-manager-plugin을 설치합니다.

# AWS CLI 설치
brew install awscli

# AWS Session Manager Plugin 설치
brew tap dkanejs/aws-session-manager-plugin
brew install aws-session-manager-plugin

 

 

그 후 해당 방식으로 접근하시면 됩니다.

aws ssm start-session --target <EC2 인스턴스 ID>

 

 

이상입니다.

 

참조

https://musma.github.io/2019/11/29/about-aws-ssm.html

https://hyeon-joo.tistory.com/11