ubuntu 서버 최초 세팅

1. 서버 접속

(기본 계정 : ubuntu)

ssh ubuntu@server_ip

 

2. 시스템업데이트

sudo apt update
sudo apt upgrade -y

 

3. 타임존 설정(선택이지만 추천)

sudo timedatectl set-timezone Asia/Seoul
timedatectl

 

4. sudo 권한 일반 사용자 계정 생성

sudo adduser username
sudo usermod -aG sudo username
groups username

 

4-1. sudo 계정 생성후 정상확인

su - username
sudo ls

-> 비밀번호 묻고 정상실행돠면 성공

 

5. ROOT 계정 SSH 로그인 비활성화

vim /etc/ssh/sshd_config

PermitRootLogin no # 해당 부분 no로 설정 yes면 root로 바로 로그인 가능한 상태임

 

(선택) 로그인 유지시간 설정

vim /etc/ssh/sshd_config

ClientAliveInterval 300
ClientAliveCountMax 0

 

ClientAliveInterval 300 : **300초(5분)**마다 클라이언트 응답 확인

ClientAliveCountMax 0 : 응답 없으면 즉시 세션 종료

결과: 5분 동안 아무 작업 없으면 자동 로그아웃

 

(선택) 패스워드 오류 허용 횟수 (로그인 실패 제한)

MaxAuthTries 3

 

패스워드 3번 틀리면 즉시 접속 종료

 

(선택) 로그인 시도 제한

LoginGraceTime 30

 

접속 후 30초 안에 인증 못 하면 강제 종료

 

운영서버에서 가장 많이 쓰는 조합

# 로그인 유지시간
ClientAliveInterval 300
ClientAliveCountMax 0

# 인증 보안
MaxAuthTries 3
LoginGraceTime 30

# root 로그인 차단 (이미 설정했을 가능성 높음)
PermitRootLogin no

 

- 만약 추가적으로 ssh 파일로만 로그인하고싶으면 아래 옵션을 설정하면 된다. id password 로그인 x

# 패스워드 로그인 허용 여부 (권장: 키 로그인만)
PasswordAuthentication no

5-1 ssh 설정파일 정상적으로 변경되었는지 확인후 restart

sudo sshd -t
sudo systemctl restart ssh

 

sudo sshd -t : sshd_config에 문법에 오류가 없으면 아무것도 안뜸

sudo systemctl restart ssh : ssh 재시작

 

6. 방화벽(UFW) 설정

sudo apt install ufw -y
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp   # 또는 변경 포트
sudo ufw enable
sudo ufw status verbose

 

6-1. 웹서버 방화벽 설정

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp