콘텐츠로 이동

사용자 및 SSH 설정 가이드

신규 사용자의 SSH 접속을 준비하고 SSH 서버(sshd)의 기본 설정을 구성.


1. 사용자가 SSH로 로그인할 수 있도록 디렉토리 구성

SSH 키 인증을 사용하는 경우를 대비하여 사용자의 홈 디렉토리에 .ssh 디렉토리를 생성하고 권한을 설정함.
(비밀번호 로그인만 사용하는 경우에도 사전 준비용으로 유지함)

sudo mkdir -p /home/[User]/.ssh
sudo chown -R [User]:[Group] /home/[User]/.ssh
sudo chmod 700 /home/[User]/.ssh
  • .ssh 디렉토리는 반드시 사용자 본인 소유여야 함.
  • 권한이 700이 아닐 경우 SSH 접속이 거부될 수 있음.
  • 홈 디렉토리 권한은 일반적으로 755를 유지함.

2. SSH 접속 설정 (서버 정책 적용)

Rocky Linux / RHEL 계열은 /etc/ssh/sshd_config.d/*.conf 구조를 사용하므로
기본 설정 파일(/etc/ssh/sshd_config)은 유지하고, 커스텀 정책은 별도 파일로 관리함.

2-1. 커스텀 SSH 정책 파일 생성

sudo vi /etc/ssh/sshd_config.d/00-custom.conf

2-2. SSH 서버 설정 (내부 서버 기준)

# Custom SSH policy (internal server baseline)

Port 22                      # SSH 포트
PermitRootLogin no           # root SSH 로그인 완전 차단
PasswordAuthentication yes   # 내부 서버: 비밀번호 로그인 허용
# PasswordAuthentication no    # 외부 노출되는 서버: 비밀번호 로그인 허용하지 않음.
PubkeyAuthentication yes     # 키 인증 허용 (미래 대비)

AllowUsers [User]            # SSH 접속 허용 사용자 제한

MaxAuthTries 3               # 인증 시도 횟수 제한
UseDNS no                    # DNS 역조회 비활성화 (접속 지연 방지)

UsePAM, GSSAPIAuthentication 등은
Rocky Linux 기본 정책(/etc/ssh/sshd_config.d/50-redhat.conf)을 그대로 사용함.

2-3. 권한 설정

sudo chown root:root /etc/ssh/sshd_config.d/00-custom.conf
sudo chmod 600 /etc/ssh/sshd_config.d/00-custom.conf

3. SSH 서비스 재시작 및 검증

설정 적용 전 문법을 검증한 후 SSH 데몬을 재시작함.

sudo sshd -t
sudo systemctl restart sshd
sudo systemctl status sshd
  • 기존 SSH 세션을 유지한 상태에서 새 세션으로 재접속 테스트를 수행함.
  • 재접속 성공 확인 후 기존 세션을 종료함.