SSH 설정과 서버 접속

서버에 접속하는 첫 관문이 SSH입니다. 보안 설정과 사용자 관리, 그리고 자주 겪는 접속 이슈를 묶어 정리합니다.

sshd 보안 설정

/etc/ssh/sshd_config 를 수정합니다.

vim /etc/ssh/sshd_config
PermitRootLogin no          # 루트 직접 접속 차단 (권장)
PasswordAuthentication yes  # 비밀번호 접속 허용 여부

루트 직접 접속을 막고 일반 사용자로 접속한 뒤 필요할 때만 권한을 올리는 게 기본 원칙입니다. 운영 환경이라면 비밀번호 대신 키 기반 인증으로 넘어가는 걸 권장해요. 수정 후 적용합니다.

systemctl restart sshd

사용자와 sudo 관리

adduser [username]          # 사용자 생성 (암호·정보 입력)

이 사용자에게 관리자 권한을 주려면 sudoers에 등록합니다.

visudo
# User privilege specification 아래에 추가
# [username]   ALL=(ALL:ALL) ALL

visudo 를 쓰는 이유는 문법 오류가 있으면 저장을 막아줘서, sudo가 통째로 망가지는 사고를 예방하기 때문입니다. 이제 해당 사용자로 sudo su - 가 됩니다.

PuTTY 세팅 (Windows)

윈도우에서 접속할 때 PuTTY를 손에 맞게 조정해두면 편합니다.

  • 스크롤 버퍼: Window → Lines of scrollback → 10000
  • 폰트: Appearance → Consolas 12pt, Font quality → ClearType
  • 인코딩: Window → Translation → UTF-8 (한글 깨짐 방지)
  • 마우스 복사: Window → Selection → Windows 방식

자주 만나는 오류

REMOTE HOST IDENTIFICATION HAS CHANGED

서버를 재설치하거나 IP가 재사용되면 호스트 키가 바뀌어 이 경고가 뜹니다. 저장된 키를 지우고 다시 접속하면 됩니다.

ssh-keygen -R [IP]

물론 정말 중간자 공격이 아닌, 내가 아는 변경인지 먼저 확인하고 지우세요. 경고 자체는 보안 기능이니까요.