Cloud Service/AWS 공부

[AWS] EC2 _ 4) SSH를 이용한 EC2 Instance 접속 + 실습

Queen Julia 2023. 10. 28. 19:05

1. SSH

1-1. SSH란?

쉘(Shell): 명령어를 입력하여 컴퓨터를 제어하는 방식

 

SSH(Secure Shell): 명령어를 입력 -> 안전하게 원격 서버를 제어하고 통신하기 위한 프로토콜 혹은 이러한 프로토콜을 사용하는 프로그램

 

SSH가 사용되는 대표적인 예시 

  • 데이터 전송 
    • 소스 코드를 Github과 같은 원격 저장소에 push 하기
    • Linux 명령어 중 하나인 scp 명령어를 통해 네트워크로 연결되어 있는 호스트들끼리 파일 주고 받기
  • 원격 제어
    • EC2와 같은 원격 서버를 제어하기 위해 해당 서버로 접속하기

 

1-2. SSH를 이용하여 실행 중인 EC2 Instance에 접속하기

EC2에 접근하는 Key Pair의 보안 방식은

Public Key 암호화 기법을 사용

 

Public Key -> 데이터를 암호화

Private Key -> 수신자가 해당 데이터를 복호화 

 

Key Pair

--> Public Key와 Private Key로 구성

--> EC2 인스턴스에 연결할 때 로그인 정보를 증명하는데 사용

--> 일종의 보안 자격 증명 세트

 

Public Key 암호화 기법 

--> 암호 대신 Private Key를 사용하여 인스턴스에 안전하게 액세스 


SSH를 이용하여 EC2 Instance에 접속하기 전,

 

EC2 Instance를 생성하는 과정에서 선택했던 Key Pair 준비 

 

 

[AWS] EC2 _ 3) EC2 Instance 생성 + 실습

1. Launch EC2 Instance 0. AWS 회원가입 후, (나중을 위한) 카드 번호 기입/인증까지 하고 나면 끝 1. EC2 Instances 페이지로 이동 후 Launch Instances을 클릭 2-1. 실행시킬 EC2 Instance의 이름을 작성 2-2. Amazon Machin

pm-developer-justdoit.tistory.com

 

  1. EC2 Instance에 해당하는 key-pair, 즉 pem 파일이 위치한 디렉토리로 이동 

 

2. SSH 접속을 하기 위해 다음과 같은 명령어를 입력합니다. 

# EC2 Instance Type이 Ubuntu인 경우
ssh -i 파일명.pem ubuntu@EC2-PublicIP

# EC2 Instance Type이 Linux인 경우
ssh -i 파일명.pem ec2-user@EC2-PublicIP

 

  나의 경우, linux는 free trial이 안 돼서 AWS로 생성했는데 학습자료에 없어서 따로 찾아보았다. 

 

ec2-user는 linux, AWS 모두 같이 쓰고,

@ 뒤의 EC2 인스턴스 public IP주소는 EC2 대쉬보드에서 확인

 

 

 

명렁어를 입력하니 다음과 같은 경고문이 출력되고 의도와는 다르게 접속이 되지 않는 것을 볼 수 있습니다.

해당 경고문에 Permissions 0644 for 'keypairtest.pem' are too open. 문구

= pem 파일의 권한 0644는 너무 많이 오픈되어있다. 

 

이는 보다 안전하게 관리해야 할 pem 파일에 너무 많은 권한이 주어졌을 경우 발생하는 경고 

 

따라서 다음과 같은 명령어를 입력하여 권한을 수정 

chmod 400 keypairtest.pem
// chmod 400 [keypair 이름].pem

3. 다시 한 번 더 EC2 Instance에 접속을 시도합니다. 이전과는 다르게 잘 접속한 것을 확인할 수 있습니다.

 만약 아래 사진과는 다르게 접속이 되지 않고 다른 에러가 발생한다면 접속하려는 EC2 Instance의 보안 그룹 규칙 확인 혹은 Public IP를 통해 접속하였는지 다시 한 번 확인하시기 바랍니다.