AWS EC2 인스턴스에 SSH로 접속하기


이번 포스팅에서는 저번 포스팅 때 만들었던 EC2 인스턴스에 SSH로 접속해보자. 인스턴스에서 마우스 오른쪽 클릭 후 ‘연결’ 부분을 클릭한다.

클릭하면 이런 화면이 나오는데

설명이 나와있고 ‘PuTTY를 사용하여 연결’ 을 누르면 자세한 설명이 또 나온다. 오늘 필자가 포스팅할 내용도 저 링크에 다 담겨져 있다. 또한 Mac과 Windows일 때 연결하는 방법이 살짝 다른데, 1번의 경우 Mac은 그냥 터미널을 켜면 되고 Windows는 putty나 XShell 같은 소프트웨어를 이용해주면 된다. 2번의 경우 Mac은 저번 포스팅에서 다운받은 pem 파일이 있는 경로에서 터미널을 켜야 한다는 뜻이고 Windows는 pem파일을 puttygen을 이용해서 ppk파일로 바꿔줘야 한다. Mac에서는 2번을 진행한 후 3번, 4번을 진행하면 바로 접속이 되는 반면 Window는 2번까지만 하면 접속이 된다. 정확히는 3번만 필요없고 4번의 내용은 만들어진 EC2 인스턴스의 DNS 주소이므로 기억하고 있어야 한다. 필자는 Windows일 때 접속하는 방법에 대해서 포스팅을 할 것이다.

저번 포스팅에서 우리는 pem파일을 다운받았다. 이 pem파일을 ppk파일로 바꿔주기 위해 puttygen을 켠다(puttygen이 없다면 다운받아주세요!).

File 메뉴에서 Load private key를 선택한 후 다운받은 pem파일을 불러온다.

필자의 경우 오른쪽이 ppk 형식만 찾는 것인 줄 모르고 계속 pem 파일이 없다고 삽질했었는데 화살표를 눌러 All Files로 형식을 바꿔주면 pem파일이 보인다. 그 pem 파일을 열면

이런 창이 뜬다. 이 메시지를 해석해보면 PuTTY로 이 key를 사용하려면 “Save private key”를 눌러야 한다는 뜻이다. “Save private key” 버튼은

바로 여기에 있다. 이 버튼을 눌러주면 되는데, 그 전에 Key passphrase(키 암호문 = SSH 접속 시 비밀번호) 부분이 있다. 여기를 입력하지 않고 “Save private key” 버튼을 누르면

이런 창이 뜬다. Key passphrase를 입력하지 않고 private key를 저장하겠냐는 의미이다. Key passphrase를 입력하지 않으면 인스턴스에 private key만 넣어주면 바로 접속할 수 있고 Key passphrase를 입력하면 private key를 넣어줘도 비밀번호를 한 번 더 입력해줘야 한다. 필자는 Key passphrase를 입력할 것이다.

다 입력한 후 “Save private key” 버튼을 눌러서 저장한다.


이제 저장한 ppk파일을 통해 EC2 인스턴스에 접속해보자. 먼저 putty를 켜면

이런 창이 뜨는데 저 Host Name(or IP address) 부분에 아까 4번에 나와있던 DNS를 입력해주면 되고 포트는 SSH 기본 포트인 22번을 입력해준다. 그 다음 SSH -> Auth를 클릭한다.

옆에 Browse 버튼을 눌러서 방금 변환한 ppk파일을 불러온다. 그러고 나서 Open을 클릭하면

아까 4번에서 ubuntu@DNS 형태로 할당을 받았기 때문에 계정은 ubuntu로 하면 된다. 좀 더 부연 설명을 하자면 인스턴스 생성시 설정한 AMI 별로 아래와 같은 사용자 이름이 설정된다.

  • Amazon Linux AMI의 경우 사용자 이름은 ec2-user
  • RHEL AMI의 경우 사용자 이름은 ec2-user 또는 root
  • Ubuntu AMI의 경우 사용자 이름은 ubuntu 또는 root
  • Centos AMI의 경우 사용자 이름은 centos
  • Fedora AMI의 경우 사용자 이름은 ec2-user
  • SUSE의 경우 사용자 이름은 ec2-user 또는 root

그 다음 비밀번호를 입력하라는 메시지가 나오는데 아까 Key passphrase에 입력해 준 비밀번호를 입력해주면 된다. 만약 Key passphrase를 설정해주지 않았다면(빈칸으로 두고 Save private key를 눌렀다면) ubuntu 계정만 입력해주면 바로 접속이 된다.

이렇게 인스턴스에 잘 접속된다.



참고 블로그 :

  • https://lhh3520.tistory.com/288
  • https://rainsound-k.github.io/deploy/2018/04/24/aws-signup-and-create-ec2.html
  • https://kamang-it.tistory.com/entry/PuTTYprivate-keyppkpem%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC-ssh%EC%A0%91%EA%B7%BC%ED%95%98%EA%B8%B0
  • http://devstory.ibksplatform.com/2017/08/aws-windows-linux-putty.html

이전글: AWS 시작 및 인스턴스 생성하기 다음글: 소스트리(Source Tree)로 브랜치(Branch) 병합하기