AWS 또는 GCP의 클라우드 서비스에서 EC2나 Cloud Engine(VM)을 이용하여 개발할 때, Ubuntu(또는 CentOs)를 많이 이용한다.
통상적으로 서버에 접속할 때는 CSP(Cloud Service Provider)에서 제공하는 브라우저에서 접속하거나, 비밀 키를 이용하여 Putty나 터미널을 이용하여 root계정에 접속하여 작업을 하는데, 이러한 방식은 번거로우며 비밀 키에 대한 엄격한 관리가 필요하다.
# ssh 접속 예시
ssh -i [비밀 키] [사용자 계정 이름]@[인스턴스 서버 IP]
이러한 부분에서 사용자 계정을 생성하고 비밀번호를 설정하여 서버에 접속하게 된다면, 비밀키를 관리하는 노력을 줄일 수 있을 것이다.
여러 명의 사용자가 서버에 접속할 필요가 있을 때, 다수의 사용자 계정을 만들고 비밀번호를 이용한 접속을 구축하게 된다면 관리자와 서버 이용자 모두가 비밀키의 관리에 대한 수고로움을 줄일 수 있다는 것이다.
아래는 사용자 계정을 생성하고, 비밀번호를 설정한 후 비밀번호로 접속하는 과정을 순차적으로 나타낸 것이다.
1. 서버 접속
# ssh 접속 예시
ssh -i [비밀 키] [사용자 계정 이름]@[인스턴스 서버 IP]
사용자 계정을 생성하기 위해 앞선 방식(브라우저 접속/비밀키 접속)을 통하여 서버에 접속한다.
2. 사용자 생성 및 비밀번호 설정
# Root 유저 전환
sudo su
# 유저 생성
adduser [유저 이름]
# 유저 비밀번호 설정
passwd [유저 이름]
위 명령어로 유저를 생성하고 비밀번호 설정을 완료한 것이다.
다음으로 생성한 사용자의 권한을 추가해 줄 것이다.
3. 사용자 sudo 권한 추가(필요 시)
# 파일 권한 수정
chmod u+w /etc/sudoers
# 파일 수정
vi /etc/sudoers
# -------------------------------------
# sudoers 파일의 최하단에 다음 내용 추가
[사용자 이름] ALL=(ALL:ALL) ALL
sudoers의 파일의 하단을 보게 된다면 root 계정이 ALL=(ALL:ALL) ALL로 되어 있는 것을 확인할 수 있는데, 생성한 사용자에게 Sudo 권한을 위임한 것이다.
4. 비밀번호 기반 로그인 활성화
기본적으로 비밀 키를 통해서 로그인만 설정이 되어있는 것을 비밀번호를 이용하여 로그인을 할 수 있도록 활성화를 시켜줘야 한다.
# ssh 설정 파일 수정
vi /etc/ssh/sshd_config
# -------------------------------------
# 파일 내부에서 아래 부분 수정(default : no)
PasswordAuthentication yes
5. 설정 완료 후 서비스 재시작
service sshd restart
위 과정을 전부 완료했다면 사용자 계정에서 비밀번호를 이용하여 접속할 준비가 완료된 것이다.
새로 터미널을 열어서 접속이 가능한 것을 확인해 볼 수 있다.
- 사용자 계정 기반 로그인
# 서버 접속 시도
ssh [사용자 계정 이름]@[인스턴스 서버 IP]
# 정상 접속이 되었다면 비밀번호 입력 창이 출력
[사용자 계정 이름]@[인스턴스 서버 IP]'s password:
- 주의 사항 :
위 설정은 권한이 제한된 사용자를 간편하게 이용할 수 있다는 장점을 가지고 있지만,
보안의 추가적인 조치(로그인 시도 횟수 제한 등)가 없다면, 보안이 취약해질 수 있다는 것을 인지하고 사용하여야 한다.
'Devops > Linux' 카테고리의 다른 글
[Linux] Tcpdump로 네트워크 인터페이스 패킷 확인 (0) | 2024.11.16 |
---|---|
[Linux] 메모리 Buffer/Cache 비우기 (0) | 2024.08.13 |
[Linux/Ubuntu] txt / yaml 등의 파일 문자열 치환(변경) (0) | 2023.08.26 |
[Linux/Ubuntu] 메모리 / 디스크 / 디렉토리 용량 확인 (0) | 2023.07.21 |
[Ubuntu/AWS] 스토리지 확장 적용 (0) | 2023.06.29 |