SSH 키 로그인 설정과 서버 기본 보안
비밀번호 로그인을 끄고 키 인증으로 바꾸는 순서와 잠기지 않기 위한 주의사항을 정리했습니다.
인터넷에 열린 서버의 22번 포트에는 자동화된 로그인 시도가 끊임없이 들어옵니다. 가장 효과가 큰 조치는 비밀번호 로그인을 끄고 키 인증만 허용하는 것입니다.
키 만들고 서버에 등록
ssh-keygen -t ed25519 -C "laptop"
ssh-copy-id user@server개인키는 내 컴퓨터를 떠나면 안 되고, 서버에는 공개키만 등록됩니다. 서버 쪽 ~/.ssh는 700, authorized_keys는 600이어야 합니다.
비밀번호 로그인 끄기
# /etc/ssh/sshd_config.d/10-hardening.conf
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yessudo sshd -t && sudo systemctl reload ssh기존 접속을 끊지 말고 새 터미널에서 키 로그인이 되는지 확인한 뒤에 닫으세요. 잘못 설정하면 서버에 들어갈 수 없게 됩니다. RHEL 계열의 서비스 이름은 sshd입니다.
무차별 대입 차단
sudo apt install fail2ban
sudo fail2ban-client status sshd방화벽과 포트 점검
필요한 포트만 열어둡니다. 어떤 프로그램이 어떤 포트를 듣고 있는지부터 확인하세요. DB나 관리 도구가 0.0.0.0으로 열려 있으면 외부에서 바로 공격받을 수 있습니다.
sudo ss -tulpn자주 놓치는 것
- 쓰지 않는 계정과 오래된 authorized_keys 항목을 지웁니다.
- 보안 업데이트를 자동으로 적용합니다 (unattended-upgrades).
- 공유기 포트 포워딩에 예전 규칙이 남아 있는지 확인합니다.