클라우드 Cloud/아마존웹서비스 AWS

Q. AWS EC2란? EC2 만들고 .pem 파일로 접속하는 방법은?

Tap to restart 2022. 7. 10. 14:19
반응형

EC2란?

보통 가상서버라고 부르는 그거다. 전체 명칭은 Elastic Compute Cloud이다. Elastic Compute Cloud를 줄여서 ECC -> C가 2개라서  EC2가 된 거 같다. 

 

서울 리전에 인스턴스를 추가하자

서울 리전 EC2 홈으로 가자.

 

ec2 홈

instances를 누른다.

 

ec2 인스턴스 새로 추가

 

ec2 인스턴스 새로 추가하기

launch instances를 누른다.

 

name에 원하는대로 입력한다. 

우분투로 설치할 거라 ubuntu-server로 입력했다. free-tier라고 적혀 있는 걸 고르자.

우분투 20.04 LTS를 골랐다. LTS는 Long Term Service의 줄임말이다. LTS가 붙어 있으면 길게 보안 업데이트 등을 해준다.

 

ec2 ubuntu 20.04

기존 security group이 없다면 Create security group을 선택하자.

 

security 그룹 설정

일단 기본 설정으로 가자. 나중에 변경할 수 있다. 

 

저장장치 설정

최대 30GB까지는 무료다. 그래서 30GB으로 했다.

 

ec2 저장장치 설정

 

오른쪽 요약을 보면 다음과 같다.

Virtual server type은 t2.micro인 걸 확인할 수 있다. t2.micro가 프리티어다

Launch Instance를 누르자.

 

ec2 요약

키페어를 만들자.

.pem로 선택하자.

 

ec2 키페어 만들기

ec2-key란 이름을 적었기 때문에 ec2-key.pem이란 파일이 생성되어서 내려받게 된다. 잘 저장해두자.

 

인스턴스를 실행하자.

Launch Instance를 다시 누른다. 끝이다!

 

 

인스턴스 목록으로 가서 생성이 끝날 때까지 기다리자.

 

 

시간이 지나면 아래처럼 2/2 checks passed라고 나온다.

잘 보면 Public IPv4라고 주소가 있다. 그 주소로 접속할 거다.

 

 

접속하기!

맥이나 리눅스의 경우 이제 서버에 접속하는 방법이 같다. 

터미널에서 ec2-key.pem 파일이 있는 곳으로 가자.

만약 주소가 54.180.120.34라면 아래처럼 명령어를 실행하자.

$ ssh -i ec2-key.pem ubuntu@54.180.120.34

명령어를 실행하고 물어보면 yes를 누른다.

앗 그런데 아래 같은 오류가 발생했다.

The authenticity of host '54.180.120.34 (54.180.120.34)' can't be established.
ED25519 key fingerprint is SHA256:BdbMqiEoXTUXIURei0Pzq4mP36bgwxTFi+MkPxWOlEc.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '54.180.120.34' (ED25519) to the list of known hosts.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'ec2-key.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "ec2-key.pem": bad permissions
ubuntu@54.180.120.34: Permission denied (publickey).

 

너무 .pem 파일의 퍼미션이 열려 있다고 한다. 변경하자.

명령어는 아래와 같다.

$ chmod 400 ec2-key.pem

 

다시 명령어를 실행하자.

$ ssh -i ec2-key.pem ubuntu@54.180.120.34

접속에 성공하면 아래처럼 ubuntu@ip-OOO-OOO-OOO-OOO: $ 커서가 나타난다.

 

여기까지 성공했다면 이제 서버에 접속 성공한 것이다!

 

보통 사용자 홈 디렉터리 .ssh 밑에 .pem 파일을 많이 둔다. 

그 경우 어느 디렉터리든 아래처럼 실행하면 접속할 수 있다. ~/ 가 사용자 홈 디렉터리를 뜻한다.

$ ssh -i ~/.ssh/ec2-key.pem ubuntu@54.180.120.34

 

위 IP 주소를 알아도 .pem 키가 없다면 당연히 다른 사람들은 접속할 수 없다. 

 

관련 글

아래 글을 참고하면 여러 사람이 한 서버를 쓸 때 추가로 계정을 만들고 .pem 파일 없이 접속하도록 할 수 있다. .pem 키는 관리자만 보관하고 다른 사용자들은 아래 방법으로 접속하게 하자.

Q. 우분투 서버에 비밀번호 없이 id_rsa 키로 ssh 접속하는 방법은?

 

Elastic IP(고정IP)에 연결하는 것도 추천한다. 아래 글을 참고해서 Elastic IP를 연결하자.

Q. AWS EC2에 Elastic IP 연결하는 방법은?

 

반응형