728x90
Intro
AWS에서는 기본적으로 EC2인스턴스를 접속할 때 key pair(pem키)를 사용해서 접속한다. 하지만 특정 상황에서는 SSH 키가 아닌 비밀번호 기반의 접속이 필요할 수 있다. 그러므로 AWS EC2 인스턴스에 비밀번호 기반 접속을 설정하고 sudo권한까지 부여하는 방법에 대해 알아보자.
AWS EC2 비밀번호 설정 방법
1. EC2 인스턴스 로그인
# ssh -i <key.pem경로> ec2-user@<ec2-instance-public-dns>
2. SSH 설정 파일 수정
/etc/ssh/sshd_config에서 PasswordAuthentication을 yes로 변경해 준다.
# vi /etc/ssh/sshd_config
...
PasswordAuthentication yes
...

3. SSH 서비스 재시작
변경 사항을 적용하기 위해 SSH 서비스를 재시작해준다.
# systemctl restart sshd
4. 사용자 비밀번호 설정
비밀번호를 설정하려는 사용자에 대해 비밀번호를 설정해 준다.
# sudo passwd ec2-user
비밀번호 입력
5. 확인
# ssh ec2-user@<Public IP>
sudo 권한 부여하기
최초 계정 생성 후, sudo -i를 해보면 'user is not in the sudoers file.'이라는 문구가 나온다. 이는 현재 사용자가 sudo 명령을 실행할 수 있는 권한이 없다는 의미이다. sudoers 파일에 해당 사용자를 추가해 줘야 sudo 권한을 사용할 수 있다.

1. /etc/sudoers 파일 권한 수정
/etc/sudoers 파일의 권한을 조회해 보면 읽기 모드로 되어있다. 이를 chmod로 루트에 쓰기 권한을 추가해 준다.
# ll /etc/sudoers
# chmod +w /etc/sudoers


2. /etc/sudoers파일에 사용자 추가
# vi /etc/sudoers
...
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
username ALL=(ALL) ALL =>추가

3. /etc/sudoers 파일 권한 복구
# chmod -w /etc/sudoers
# ll /etc/sudoers

4. 확인
# su - username
# sudo -i

728x90
'Cloud > AWS' 카테고리의 다른 글
| [AWS] AWS Application Migration Service(AWS MGN)란? 작동 방식 (0) | 2024.06.21 |
|---|---|
| [AWS] Bastion Host 구성 - 3. PowerShell로 서버 접속 확인하기 (0) | 2024.02.20 |
| [AWS] Bastion Host 실습 - 2. Bastion Host, 인스턴스, NAT Gateway 생성까지 (1) | 2024.02.18 |
| [AWS] Bastion Host 실습 - 1. VPC, Subnet, 인터넷 게이트웨이, 라우팅테이블 생성까지 (0) | 2024.02.15 |