EC2 Instance에 접속하기 (Windows OS 기준)
지난 글에서 EC2 Instance를 만들었으니, EC2 Instance에 접속하는 것에 대해서 설명하겠습니다.
* 기준
- Windows OS에서 유닉스 계열 OS를 사용하는 EC2 Instance에 접속하는 것으로 설명을 하겠습니다. (저같은 경우 Ubuntu OS를 사용합니다.)
- SSH(Secure Shell)을 사용해서 주로 접속합니다.
- Windows에서는 PuTTY를 이용합니다.
- 혹시 Linux, Mac OS X를 사용하는 사용자는 자체적으로 SSH가 내장 되어있기 때문에 찾아서 사용하시면 됩니다.
지금부터는 글이 어떤 이론을 설명하는 것이 아니고 셋팅 하는 것에 초점이 맞추어져있습니다. 어떻게 하는지 보면서 셋팅을 하는 부분에 있어서 왜 그렇게 해야하는지에 대해서 최대한 설명을 할 것입니다.
Putty를 이용해서 AWS EC2 instance에 접속하도록 해야합니다. Putty는 SSH Application으로써 원격으로 네트워크상에 접속이 가능하게 만들어주는 응용프로그램입니다. 암호화를 통하여 접근을 하기 때문에 중간에 해킹을 시도해도 암호화되어 보여주기 때문에 안정성 있는 프로그램입니다.
Putty의 SSH port는 22번을 사용합니다.
이제 순서대로 접속하는 방법에 대해서 설명해보겠습니다.
1) 일단 putty를 사용하기위해서 다운로드 받겠습니다.
putty는 http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 에 접속하여서 putty.zip 파일을 받도록 합니다.
받아서 압축을 풀도록 합니다.
2) 이전에 EC2 instance를 생성하고 마지막에 저장했던 Key Pair 파일인 .pem 이 있습니다. 이것을 이용해서 EC2에 접속하기 위한 putty전용 키파일인 .ppk (Private Key)로 변환을 해야합니다.
이 .pem key 파일이 없으면 만들었던 EC2의 instance를 사용할 수 없으니 잘 관리하시길 바랍니다.
이 키를 이용하여 ppk파일을 만들기 위해서는 다운로드 받은 putty 폴더를 보면 PuTTYGEN를 실행하고,
Load를 눌러서 All FIle을 선택하셔서 .pem키를 선택하여 넣으시고 Save private key를 누르시면 다음과 같은 경고창을 보실 수 있습니다.
이 창은 ppk파일을 만들기 전에 마지막으로 동의를 얻는 부분이기 때문에 예로 넘어가면 된다. 이로써 EC2로 접속할 수 있는 ppk파일 생성을 완료하였습니다.
3) 이제 압축을 푼 Putty 응용프로그램을 실행시켜서 .ppk 파일을 이용해서 EC2에 접속할 마지막 작업을 완료합니다.
Host Name에 domain name을 가지고 계신 분들은 넣으셔도 접속에 지장 없습니다.
보통은 IP를 사용해서 접속하기 때문에 IP를 이용하도록 하겠습니다.
여기서 IP는 instance 생성시 생성되었던 public IP를 사용해서 접속합니다.
EC2의 instance 목록을 보러 들어가시면 나오는 하단 부에 나오는 Public IP를 적어 넣습니다.
port 번호는 SSH로 접속하기 때문에 서버에 주로 열어 주는 port번호가 22번이기 때문에 그것으로 설정을 그대로 둡니다.
그리고 EC2에서도 instance 생성시 기본적으로 열어주는 port가 22번이기 때문에 접속하는데에는 지장이 없습니다.
Saved Sessions는 원하는 나중에 보았을때 접속을 구분하기 쉬운 이름을 적어 넣으시면 됩니다.
그리고 SSH -> Auth로 가서 private key인 .ppk를 찾아서 넣어 주시고,
다시 처음 화면인 Session으로 가셔서 Save를 하여 저장하시면 EC2에 접속하기 위한 리스트가 생기게 됩니다.
만드신 EC2를 선택해 주시고 Open을 눌러주시면 EC2에 접속하게 됩니다.
login as : 라고 처음 화면에 보이는데 처음에 접속할 때에는 ubuntu 라고 접속하시면 됩니다.
4) 이제 접속은 완료하였는데 Server를 셋팅하려면 permission 문제로 이거 저거 고려 안해도 되는 root권한을 얻어서 하는 것이 좋습니다.
현재 unbuntu로 접속하고 있는 상황에서
$ sudo passwd root
원하는 암호 입력하고 엔터
root권한을 사용할 설정이 완료되었습니다.
$ su
설정한 암호를 가지고 로그인 권한 획득.
이제 본격적으로 root권한으로 접속해서 서버를 세팅하시면 됩니다.
* 추가적으로 SSH로 private key인 ppk 파일 없이 접속할 수 있는 방법을 설명하겠습니다. 이 부분은 필수가 아닙니다.
ppk 없이 언제 어디서나 네트워킹이 되는 곳에서 접속할 수 있게 id와 password로 인증하여 서버에 접속하는 방법을 설명합니다.
이 부분을 셋팅하면 key를 사용해서 접속할 때보다 보안에 취약하게 되니 그것은 고려해서 선택 적용하셔야합니다.
앞선 EC2까지 접속되고 나서 부터 이 설정을 하실 수 있습니다. 즉, ubuntu로 login as를 넘어서고 부터 이번 설정을 진행 하실 수 있습니다.
터미널에서
$ sudo adduser [본인이 만들고 싶은 계정명]
계정정보를 설정하고 입력을 안하셔도 상관없음.
방금 생성한 계정을 administrator 그룹에 등록하여 root 권한을 주기 위해서
$ sudo adduser [계정명] admin
SSH 설정을 ID, Password를 이용해서 접속할 수 있게 passwordAuthentication 부분 yes로 바꾸어 주어야합니다.
$ sudo vi /etc/ssh/sshd_config
PasswordAuthentication no =>yes
마지막으로 ssh를 재시작해서 설정을 다시 적용해줍니다.
$ sudo service ssh restart
이제 아까 생성한 계정을 가지고 언제 어디서든 id, password를 가지고 접속할 수 있게 됩니다.
이상으로 EC2 접속까지를 마치겠습니다.
* Reference
1. 아마존 웹 서비스를 다루는 기술 - 이재홍 - 이분의 책은 AWS의 바이블이라고 생각됩니다. 구매해서 보시는 것 추천.