초보 개발자

AWS EC2 mutiple user 본문

AWS

AWS EC2 mutiple user

taehyeki 2023. 5. 29. 17:46

Mutiple User

다른 사람이 나의 EC에 접속하여 무언가 프로그램을 만들고 싶다고 한다. 나는 당연히 AWS Account가 하나만 존재한다.

그 프로그램을 만들고 나면 나는 그 사람이 다시는 EC2에 접속을 안했으면 좋겠다.


첫 번째 생각

 

이 때 나는 맨 처음 떠올린 생각은 IAM 유저를 하나 생성하여, 특정 EC2만 보여주고, 그 EC2만 접속할 수 있는 policy를 붙여줄려고 했다. 그리고 작업이 끝나면 IAM유저를 삭제. 하지만 이는 마음처럼 되지 않았다.

 

그 이유는 AWS에서는 EC를 숨기고 특정 EC2만 보여주는 기능은 아직 없다고 한다. 다만 태그를 통해서 특정 EC2에만 접근할 수 있도록 할 수는 있다고 하는데 내 모든 EC2의 이름, 스펙은 보여주고 싶지 않았다.


두 번째 생각

EC2안의 Linux안에 다른 유저를 하나 생성하여, ssh키를 만들고 공개키는 서버에 두고, 비밀키를 다른 사람에게 전달한 뒤, 작업이 끝나면 해당 유저를 삭제하거나, 키를 삭제해버리면 접속이 불가능할 것이다. 따라서 이 방법을 사용해보려고 한다.

 

 


실습

 


위의 이미지를 보면 기존에 있던 root, ec2-user와 함께 guest user라는 유저가 하나 더 생성이 되어있다.

sudo useradd guestuser
sudo passwd guestuser
~비밀 번호 설정~

sudo su guestuser # guest user아이디로 접속

ssh-keygen -t rsa -b 2048

키를 생성해주고 pass phrase는 엔터를 입력하여 빈 값이 들어가도록 해주었다.

Amazon Linux2의 AutorizedKeysFile경로는 Default값이 .ssh/authorized_keys이기 때문에, 퍼블릭 키를 만들어서 꼭 해당파일의 이름으로 만들어주자.

 

.ssh폴더는 700권한

autorized_keys는 600권한을 부여해줘야한다.

( 이 부분 생략하면 ec2에 ssh로 접속 시 권한 거부 뜸 )

cat .ssh/id_rsa.pub (위에서 생성한 퍼블릭 키) >> .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys

이 후 Private key의 내용을 복사하여 로컬에 하나 만들고, PuTTYGEN을 사용하여 pem키에서 ppk키로 바꿔줘야 원할히 리눅스에 접속이 가능하다고 한다.

이 때 프라이빗 키를 열 수 없다는 오류가 나왔는데, 프라이빗 키를 다른 폴더에 넣어준 뒤 다시 해보니 잘 되었다.

save private key를 눌러주자. open ssh key로 export해주면 잘 접속이 된다. ( 저걸로 안하면 자꾸 ec2에 접속할 때 포멧이 맞지 않는 다고 뜸 )

이렇게 하면 새로운 유저가 ec2에 잘 접속을 할 수 있게 된다.

 

이 유저가 sudo 명령어를 사용하도록 하려면 wheel그룹에 넣어주면 되는데, 이 부분은 생략했다.

당연한 말이지만 22번 포트와 아이피를 개방하지 않으면 유저가 접속을 할 수 없을 것이다.


정리


중요한 부분은 

유저 생성,

퍼블릭키 프라이빗 키 생성

퍼블릭 키를 authorized_keys에 입력

폴더와 키 권한 변경

프라이빗 키를 복사하여 ppk로 변경

'AWS' 카테고리의 다른 글

AWS Attach Spanned EBS Volume  (0) 2023.05.30
AWS EC2 RI 계약  (0) 2023.05.30
Active Directory란  (0) 2023.05.25
AWS IO vs GP3 storage  (0) 2023.05.24
AWS RDS RI 계약 정리  (0) 2023.05.24