서버 SSH 포트 변경은 보안 전문가들 사이에서 “security through obscurity”라고 약간 비판을 받기도 하지만, 실제로 효과가 있습니다. 기본 22번 포트를 변경하면 자동화된 봇 스캐너 대부분이 그냥 지나갑니다. 이 봇들은 인터넷 전체를 스캔하면서 22번 포트가 열린 서버를 찾는데, 다른 포트를 쓰면 대상에서 제외됩니다. 실제로 저는 22번에서 다른 포트로 변경한 후 auth.log의 실패한 로그인 시도가 하루 수천 건에서 수십 건으로 줄어드는 것을 확인했습니다.
1단계: sshd_config 파일 수정
sudo nano /etc/ssh/sshd_config
Port 항목을 찾아서 변경합니다.
# Port 22
Port 22222
22222 대신 1024~65535 범위에서 다른 잘 알려지지 않은 포트를 선택하세요. (예: 10022, 55122, 24680 등)
2단계: 방화벽에 새 포트 허용
# UFW 사용 시
sudo ufw allow 22222/tcp
sudo ufw reload
# firewalld 사용 시
sudo firewall-cmd --permanent --add-port=22222/tcp
sudo firewall-cmd --reload
3단계: SSH 재시작 전 기존 세션 유지
중요: SSH를 재시작하기 전에 현재 연결을 끊지 마세요. 새 포트로 별도 SSH 창을 열어서 접속을 먼저 테스트하세요.
# 새 터미널에서 새 포트로 테스트 접속
ssh -p 22222 user@서버IP
접속 확인 후 SSH 서비스 재시작:
sudo systemctl restart sshd
새 포트로 접속이 확인되면 22번 포트를 방화벽에서 닫습니다.
sudo ufw delete allow 22/tcp
sudo ufw reload
서버 포트를 변경했으면 접속 시 포트를 명시해야 합니다.
ssh -p 22222 user@서버IP
매번 포트를 입력하기 번거롭다면 ~/.ssh/config 파일에 등록합니다.
Host 병원서버
HostName 서버IP
Port 22222
User ubuntu
IdentityFile ~/.ssh/서버키.pem
이후 ssh 병원서버 만으로 접속 가능합니다. 포트 변경은 fail2ban과 함께 써야 진짜 효과가 있습니다.
의료기관 인프라 운영 현장 경험을 바탕으로 작성하며, WavePix 운영자 (의료기관 3곳 인프라 전담)가 최종 검수합니다.
작성·검수: WavePix 운영자 (의료기관 3곳 인프라 전담)