EC2에 custom keypair 붙이기(linux)

왜?? 이 글을 썼냐면요..  EC2를 사용하다보면 영구적으로 모든 권한을 주는 것이 아닌, 일시적으로 EC2 서버의 ssh접근권한을 주어서 관리자가 원할 때 ssh 접근권한을 가진 유저를 제한하는 방법이 필요했기 때문입니다. 이를 위해서 자칫 IAM 으로 컨트롤 가능할 거 같지만, EC2 생성/제거가 아닌, ssh 접근을 통제하는 방법은 AWS에서 제공하지 않습니다. 그럼 시작

1. 준비물로 우선 puttygen으로 키페어 하나를 만들어 줍니다.

puttygen

puttygen key.PNG

위와 같이 생성이 완료 되면, private key는 저장하여 간직하고, public key 내용을 복사해서 노트해 둡니다. (ssh-rsa AAAABBBBBB로 시작 [한 문장])

2.  ssh 접근 후, 유저 생성을 해주고 폴더를 설정해 줍니다.

adduser andykwak
su - andykwak
mkdir .ssh/
chmod 700 .ssh/

3. 방금 저장한 public key 내용을 저장해 줍니다.

vim .ssh/authorized_keys     ##ssh-rsa 어쩌고 복사
chmod 600 .ssh/authorized_keys

4. /etc/sudoers에 정보를 추가합니다

유저명 ALL=NOPASSWD:ALL   ##ec2-user의 경우 /etc/sudoers.d/cloud-init에 포함

5. 이제 새로운 유저로 putty 접근을 해 봅니다.

6. 유저 삭제 시

sudo userdel -r 유저명(andykwak)

 

Advertisements

PuttyGen 사용하여 EC2 접근하기

AWS EC2에 접근하기 위해서는 우선 Key Pairs 가 필요합니다. Key Pair은 EC2를 생성할 때 만들거나 개별 생성이 가능하며 EC2 Launch 시 필수사항으로 매칭이 되어야 정상적으로 가동이 됩니다.

Key Pair 은 pem 파일로 우선 받아 집니다. pem 파일이 있고, ssh 클라이언트가 있으시면 아래와 같이 사용하시면 됩니다.

1. pem 파일를 비공개로 바꿔줍니다.

chmod 400 /path/my-key-pair.pem

2. EC2의 도메인 이름과,  계정정보(amazon-ami:ec2-user / ubuntu:ubuntu)를 함께 입력 하여
ssh 접근을 시도 합니다

ssh -i /path/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com

하지만 Putty 를 이용하여 접근하고 싶다면, 우선 Putty Gen 이 필요합니다.

1. Putty Gen 다운 받기 (출처 : http://www.chiark.greenend.org.uk)

2. Putty Gen을 다운 받으셨다면, Putty Gen을 이용하여 pem파일을 ppk 파일로 변환시켜 줍니다.  (Load 버튼 클릭 -> Save Private Key) [pem 파일과 동일한 이름 권장]

putty

3. 이제 ppk 파일을  사용하여 putty 로 접근해 보겠습니다.  putty 다운로드

putty2

위 그림 처럼 좌측의 Connection-SSH-Auth를 클릭 하신 뒤   Private key file 옆 Browse를 눌러 방금 만든 ppk 파일을 사용해 줍니다.

4. 마지막으로 접속을 하겠습니다. 다시 좌측의 Session을 클릭하셔서 계정명과 도메인을 입력 후
접속하여 봅니다.

putty3.PNG