EC2 인스턴스를 생성하면 기본 계정(ec2-user)이 생성됩니다.
기본 계정의 경우 다수에게 알려져 있기 때문에 보안에 취약할 수 있습니다.
기본 계정 외 sudo 권한이 있는 새로운 계정을 생성하고
기존의 기본 계정은 삭제하여 불법적인 접근을 막을 수 있도록 해보겠습니다.
🧑🔧 신규 계정 생성 및 기본 계정 설정
퍼블릭 키 확인
로컬에 저장된 기존 계정(ec2-user)의 키 페어 파일에서 퍼블릭 키를 검색하여
ssh-rsa … 로 시작하는 반환 결과를 확인합니다.
ssh-keygen -y -f {키_페어_파일}
사용자 계정 생성
EC2 인스턴스에 접속한 후 SUDO 권한이 있는 계정으로 새로운 계정을 생성하고
새로 생성한 계정으로 전환합니다.
sudo adduser {신규_계정명}
sudo su - {신규_계정명}
사용자 계정 root에 .ssh 디렉토리를 만들고 권한을 700으로 변경합니다.
mkdir .ssh
chmod 700 .ssh
.ssh/authorized_keys 파일을 생성하고 권한을 600으로 변경합니다.
cd .ssh
touch authorized_keys
chmod 600 authorized_keys
에디터로 authorized_keys 파일을 열어
앞서 확인했던 키 페어 파일의 퍼블릭 키를 붙여 넣고 저장합니다.
sudo 권한 부여
새로운 계정에 sudo 권한을 부여하고, 기존 계정(ec2-user)은 삭제하기 위해
ec2-user 계정에서 /etc/sudoers.d/90-cloud-init-users 파일에 새로운 계정을 추가하고 저장합니다.
✍️ sudoers 관련 파일들은 visudo 명령으로만 수정할 수 있습니다.
sudo visudo -f /etc/sudoers.d/90-cloud-init-users
# Created by cloud-init v. 19.3-45.amzn2 on Wed, 20 Jul 2022 04:30:09 +0000
# User rules for ec2-user
ec2-user ALL=(ALL) NOPASSWD:ALL
{신규_계정명} ALL=(ALL) NOPASSWD:ALL
새로운 계정으로 로그인 한 후 sudo 권한을 확인합니다.
기본 계정 제거
더 이상 사용하지 않을 기존 계정은 삭제합니다.
sudo userdel -r {사용자_계정}
🔗 참고 링크
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/managing-users.html
https://blog.outsider.ne.kr/505
https://jojoldu.tistory.com/433