반응형
새로운 사용자 계정을 생성하고, 외부에서 SSH 접근
AWS EC2 인스턴스에 새로운 사용자 계정을 생성하고, 외부에서 SSH로 접근 가능하게 만드는 전체 절차를 아래에 단계별로 정리해 드립니다. Amazon Linux, Ubuntu 등 대부분의 리눅스 배포판에서 동일하게 적용됩니다.
✅ 목적
- AWS EC2 서버에 newuser 계정을 추가
- 외부에서 ssh -i key.pem newuser@<EC2_IP>로 접속 가능하게 설정
🧭 전체 단계 요약
단계 | 작업 내용 |
1단계 | 사용자 계정 생성 |
2단계 | 홈 디렉터리 및 셸 설정 |
3단계 | .ssh/authorized_keys 생성 및 퍼블릭키 등록 |
4단계 | 파일 및 디렉터리 권한 설정 |
5단계 | 필요 시 sudo 권한 추가 (선택) |
6단계 | 외부에서 접속 테스트 |
🔧 단계별 절차
✅ 1단계. 사용자 생성
sudo adduser newuser
기본적으로 /home/newuser 디렉터리가 생성되고, 로그인 셸은 /bin/bash가 할당됩니다.
✅ 2단계. 홈 디렉터리 및 셸 확인 (필요시 수정)
cat /etc/passwd | grep newuser
필요하면 셸 지정:
sudo usermod -s /bin/bash newuser
✅ 3단계. SSH 공개키 등록
sudo mkdir -p /home/newuser/.ssh
sudo nano /home/newuser/.ssh/authorized_keys
- authorized_keys 파일에 기존 접속 가능한 사용자(ec2-user, ubuntu 등)의 .ssh/authorized_keys 내용을 복사합니다.
예:
cat /home/ec2-user/.ssh/authorized_keys | sudo tee /home/newuser/.ssh/authorized_keys
✅ 4단계. 소유권 및 권한 설정
sudo chown -R newuser:newuser /home/newuser/.ssh
sudo chmod 700 /home/newuser/.ssh
sudo chmod 600 /home/newuser/.ssh/authorized_keys
✅ 5단계. (선택) sudo 권한 부여
원할 경우 sudo 그룹 또는 wheel 그룹에 추가합니다.
sudo usermod -aG wheel newuser # Amazon Linux, CentOS 등
# 또는
sudo usermod -aG sudo newuser # Ubuntu 기준
그리고 /etc/sudoers에서 해당 그룹이 활성화되어 있는지 확인:
sudo visudo
해당 줄이 주석 해제되어 있어야 합니다:
%wheel ALL=(ALL) ALL # CentOS, Amazon Linux
%sudo ALL=(ALL:ALL) ALL # Ubuntu
✅ 6단계. 외부에서 SSH 접속 테스트
외부 터미널 또는 Git Bash에서 다음과 같이 접속합니다:
ssh -i /경로/flask.pem newuser@<EC2_IP>
예시:
ssh -i ~/Downloads/flask.pem newuser@3.91.204.123
📝 확인 팁
- whoami → 현재 사용자 확인
- hostnamectl 또는 lsb_release -a → 서버 OS 확인
- sudo whoami → sudo 권한 확인
⚠️ 보안 유의사항
- .pem 키는 절대로 외부에 노출되지 않게 하세요.
- EC2 보안 그룹에서 **포트 22(SSH)**가 허용되어 있어야 합니다.
- chmod 400 flask.pem으로 키 파일 권한 설정
✅ 정리 요약
작업 | 명령어 예시 |
사용자 생성 | sudo adduser newuser |
SSH 키 등록 | authorized_keys 복사 |
권한 설정 | chmod, chown 적용 |
sudo 권한 부여 | usermod -aG wheel newuser |
외부 SSH 접속 | ssh -i key.pem newuser@IP |
반응형
'Linux > 네트워크 및 서비스의 활용' 카테고리의 다른 글
클라우드(Cloud)란? (3) | 2025.05.29 |
---|---|
온프레미스(On-Premise), 클라우드와 비교 (1) | 2025.05.28 |
SSH 로컬 포트 포워딩하여 Flask 서버 접속 (4) | 2025.05.21 |
VMware 네트워크 모드 비교: 브리지 모드 vs NAT 모드 (3) | 2025.05.09 |
IoT에 적합한 라즈베리파이 (10) | 2025.02.04 |