[ AWS ][ 서버 구축하기 2 ] 맥 터미널에서 EC2 인스턴스 접속하기 (feat. pem 파일) 🖥

ryusuz·2022년 5월 30일
14

Server

목록 보기
2/7
post-thumbnail

윈도우에서는 putty 같은 ssh 프로그램을 이용해서 접속해야하지만,
맥 같은 경우에는 기본으로 설치되어 있는 터미널 앱을 사용해서 접속이 가능하다!!!


✋🏻 잠깐! EC2 인스턴스 생성은 어떻게 하지?

📌 AWS EC2 인스턴스 생성하는 방법

위 하이퍼링크를 클릭해서 차례대로 따라하면 EC2 인스턴스를 생성할 수 있다.

인스턴스를 생성하면서 pem 파일로 키 페어를 생성했을 것이다!

키 페어가 저장된 경로를 알아두고 터미널을 실행 시키자.





EC2 접속하기

1. 키 페어가 저장된 경로로 이동

$ cd "키 페어가 저장된 경로"

  • cd 는 change directory의 준말로, 작업 중인 디렉토리의 위치를 변경해주는 명령어

나는 키 페어 파일을 ryusuz(사용자 이름) 폴더 하위에 있는 code 폴더에 저장해주었다.


  • pwd 는 현재 작업 위치의 절대 경로를 알려주는 명렁어
  • "./code"에서 "." 은 현재 위치를 말함! (".."은 상위 디렉토리)

현재 위치가 ryusuz이므로 키 페어가 저장된 code 폴더로 이동하기 위해 "cd ./code"를 입력해준다.

사실 굳이 이동 안 해주어도 되는데 키 페어 경로 입력할 때마다 상위 디렉토리들을 입력해주어야 해서 이동해주었다.



2. pem 파일 권한 변경

$ chmod 600 "키 페어 파일 경로"

  • chmod 는 change mod의 준말로, 파일의 모드(= 권한: 읽기, 쓰기, 실행)를 변경하는 명령어
  • 숫자 세 개의 의미는 나/그룹/전체에 대한 권한을 의미한다.
  • read(4), write(2), execute(1) 가 있는데 이 숫자들 합의 조합으로 권한을 나타낸다.

키 페어 파일의 권한을 600으로 수정해주는 명령어!

내 키 페어 파일의 이름이 "purple-backend-server"이기 때문에 해당 명령어를 입력해주었다.

여러 블로그를 보니 400으로 변경하는 분들도 종종 계셨는데,

400은 "나"에게만 "읽기(4)" 권한을 주는 것이고
600은 "나"에게만 "읽기, 쓰기(4 + 2)" 권한을 주는 것이다.



3. SSH 프로토콜을 이용해 인스턴스에 접속

$ ssh -i "키 페어 파일 경로" "사용자 이름"@"인스턴스의 IPv4 주소나 도메인"

  • 인스턴스의 주소는 AWS 홈페이지에서 확인 가능하다

뒤에 초록색으로 가린 부분이 내 ec2 인스턴스의 IP 주소이다.
아, 사용자 이름은 인스턴스를 생성할 때 선택했던 AMI에 따라서 달라진다.

  • AWS 공식 문서 참고
  • Amazon Linux 2 또는 Amazon Linux AMI의 경우 사용자 이름은 ec2-user입니다.
  • CentOS AMI의 경우 사용자 이름은 centos 또는 ec2-user입니다.
  • Debian AMI의 경우 사용자 이름은 admin입니다.
  • Fedora AMI의 경우 사용자 이름은 fedora 또는 ec2-user입니다.
  • RHEL AMI의 경우 사용자 이름은 ec2-user 또는 root입니다.
  • SUSE AMI의 경우 사용자 이름은 ec2-user 또는 root입니다.
  • Ubuntu AMI의 경우 사용자 이름은 ubuntu입니다.
  • Oracle AMI의 경우 사용자 이름은 ec2-user입니다.
  • Bitnami AMI의 경우 사용자 이름은 bitnami입니다.
  • 그렇지 않은 경우 AMI 공급자에게 문의하세요.

나는 우분투를 선택했으므로 사용자 이름에 ubuntu를 입력해주었다.


IP주소는 aws 홈페이지에서 주소 긁어와서 복붙해주면 된다.



4. 완료!

성공적으로 접속이 되면 이런 화면이 나타난다!!~~





🤔 근데...SSH 접속 쉽게 할 수 없을까?

접속할 때마다 ssh -i 어쩌고~~ 를 입력하기 너무 번거롭다.

역시 인간은 복잡한 걸 싫어하는 종족.. 간편하게 접속할 수 있는 방법을 찾았다.



1. pem 파일을 ssh 디렉토리의 하위에 복사

$ cp "pem 파일 경로" ~/.ssh/

  • cp 는 copy의 준말로, 파일을 복사하고 붙여넣는 명령어이다.
    (cp "복사할 파일 경로" "붙여넣을 파일 경로")



2. config 파일 생성 및 수정

$ vi ~/.ssh/config

  • vi 는 셸 상에서 새로운 문서를 편집할 수 있는 환경을 제공

이렇게 입력을 완료했다면 config 파일을 편집하는 화면으로 넘어가게 된다.

i 를 누르면 파일을 수정할 수 있다.

Host 간편하게 입력할 이름 (ex.purple-backend)
HostName ec2의 IP 주소
User 사용자 계정 (ex. ubuntu)
IdentityFile ~/.ssh/"pem 파일 이름".pem

위와 같이 입력해주면 된다.

입력 후에 esc 버튼을 누르고 :wq를 입력해주고 엔터해주면 파일 생성 및 수정 끝!

  • :wq 는 저장하고 편집을 종료하겠다는 vi 명령어



3. 간편하게 접속

$ ssh purple-backend

ssh 명령어 뒤에 지정해준 Host를 입력해주면 간단히 접속할 수 있다.


profile
개발자

3개의 댓글

comment-user-thumbnail
2022년 7월 11일

감사합니다 😀😀

1개의 답글
comment-user-thumbnail
2023년 3월 31일

하다가 중간에 막혔었는데.. 덕분에 정상 작동하네요! 감사합니다👍

답글 달기