서버 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과 함께 써야 진짜 효과가 있습니다.
AI가 초안을 생성하고, 의료기관 인프라 운영자가 1차 데이터 기반으로 최종 검수·승인합니다.
작성·검수: WavePix 운영자 (의료기관 3곳 인프라 전담)