본문 바로가기

개발새발 개발자/기타

[AWS] 만들어놓은 서버에 접속하기 (Mac OS)

사이드 프로젝트 배포를 위해 처음으로 AWS EC2 서버를 다뤄보게 되었습니다. 팀원이 미리 인스턴스를 만들어놓았기 때문에 이 글에서 인스턴스 생성은 따로 설명하지 않습니다. 이미 생성된 인스턴스에 접속하는 방법을 알아봅니다.

 

AWS 서버는 SSH로 접속할 수 있어요. SSH란 원격으로 시스템에 접속하는 다양한 방법 중 하나입니다!

1. AWS CLI 설치

$ brew install awscli

aws-cli는 터미널로 aws를 관리할 수 있는 통합 도구입니다. 위의 명령어로 설치합니다.

 

$ aws configure

설치 뒤에는 aws 명령어를 사용할 수 있습니다. 위와 같이 입력해볼게요.

 

AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]:

그럼 이렇게 여러가지 항목을 입력하라고 할 겁니다. 이 Access Key를 알기 위해 AWS 웹사이트에 접속합니다.

2. Access Key 확인

AWS 메인 페이지

내 계정AWS Management Console 을 클릭해주세요.

 

AWS Management Console 페이지

그럼 이 페이지로 들어오게 될텐데요, 오른쪽 위에 써있는 계정 이름을 클릭하고 내 보안 자격 증명으로 가주세요.

 

보안 자격 증명 페이지

중간에 보시면 엑세스 키 탭이 있어요. 새 액세스 키 만들기 를 누르면 엑셀 파일 하나가 다운받아질 거예요.

 

다운 받은 엑셀 파일

엑셀 파일에 있는 값을 아까의 터미널에 복붙해주면 됩니다. 그럼 그 화면을 다시 볼까요?

AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]:

엑셀 첫 번째 값을 Access Key ID에, 두번 째 값을 Secret Access Key에 입력합니다. Default region name은 제 경우 ap-northeast-2로 해줬고 output format은 엔터 쳐서 디폴트로 넘어갔어요.

3. Private Key 설정

1) pem 파일 다운

서버를 안전하게 지키기 위해 AWS는 Public Key 암호화 기법을 활용합니다. 데이터는 Public Key로 암호화되고 제가 가진 Private Key로 그 데이터를 해독할 수 있어요. 그 Private Key가 바로 .pem 이라는 파일입니다.

 

pem 파일은 딱 한 번 생성할 수 있고 이걸 잃어버리면 복잡한 절차를 거쳐야 하니 잘 관리해두세요. 특히 이 pem 파일은 유출되면 서버에 누구든 접속할 수 있게 되니까 조심하셔야 합니다! 저는 팀원에게 파일을 직접 전달받은 관계로 키 생성은 이곳을 참고하시면 됩니다.

 

2) pem 파일 경로 이동

이 중요한 파일을 어디다 저장해야 할까 고민이 많았는데요, 저보다 경험이 많은 팀원이 보통 ~/.ssh 폴더에 저장한다고 조언해주었어요. .ssh는 보통 홈 디렉토리 아래에 있어요. 만약 제 유저 아이디가 'dodeoni' 일 경우, dodeoni/.ssh 라는 경로를 갖고 있어요.

 

하지만 저처럼 SSH를 사용해본 적이 없다면 숨김 폴더 보기를 해도 없을 거예요. 한 번 생성해봅시다.

$ ssh-keygen

.ssh 디렉토리가 없다면 ssh-keygen 이라는 프로그램으로 키를 생성해야 합니다.

 

Enter file in which to save the key (/Users/dodeoni/.ssh/id_rsa):
Created directory '/Users/dodeoni/.ssh'.

엔터를 치면 내 홈 디렉토리에 .ssh 디렉토리를 생성해줍니다.

 

Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/dodeoni/.ssh/id_rsa.
Your public key has been saved in /Users/dodeoni/.ssh/id_rsa.pub.

계속 엔터를 치면 작업이 완료됩니다. Mac OS의 경우 cmd+shift+. 을 누르면 숨겨져있던 .ssh 디렉토리가 보일거예요. 이제 다운 받은 pem 파일을 .ssh로 옮겨주세요! 

 

 

3) pem 파일 권한 설정 및 접속

$ chmod 400 /경로/파일이름.pem

pem 파일을 나만 볼 수 있도록 권한을 변경합니다.

 

4. EC2 접속

1) DNS 주소 확인

자, 이제 거의 다 왔어요! 이제 접속할 DNS 주소를 알아봅시다. 먼저 EC2 대시보드에 접속해주세요.

 

EC2 대시보드

인스턴스 메뉴에 들어가서 하단 오른쪽을 보면 퍼블릭 IP가 있죠? 이 부분을 복사해주세요.

 

2) SSH로 접속

$ ssh -i .ssh/[파일이름].pem ec2-user@[DNS주소]
$ ssh -i .ssh/key.pem ec2-user@12.34.56.78

이렇게 써주면

The authenticity of host '주소' can't be established.
ECDSA key fingerprint is SHA256:key내용.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '주소' (ECDSA) to the list of known hosts.
Last login: Sun Oct  6 10:58:33 2019 from 주소

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2018.03-release-notes/
25 package(s) needed for security, out of 31 available
Run "sudo yum update" to apply all updates.

접속 화면이 짠! 성공입니다!!