리눅스 ssh 서버 포트 변경

리눅스 ssh 포트를 22에서 2222로 변경할때는 다음을확인합니다.

  • /etc/ssh/sshd_config 에서 포트 변경
  • 방화벽에서 포트 개방 및 적용(reload)
  • SELinux 새포트 허용
  • sshd 데몬 재시작

1. 방화벽 설정

새로운 포트를 방화벽에서 허용해야 합니다.

UFW 사용시:

sudo ufw allow 2222/tcp
sudo ufw reload

firewalld 사용시:

sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

iptables 사용시: (보통 활성화 되어 있지 않음)

sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
sudo iptables-save

2. SELinux 설정 (CentOS/RHEL/Fedora)

SELinux가 활성화되어 있다면 새 포트를 허용해야 합니다:

sudo semanage port -a -t ssh_port_t -p tcp 2222

3. 클라우드/호스팅 보안 그룹

AWS, GCP, Azure 등 클라우드 서비스를 사용중이라면 보안 그룹(Security Group)에서 2222 포트 인바운드 규칙을 추가해야 합니다.

4. SSH 서비스 재시작 확인

sudo systemctl restart sshd
sudo systemctl status sshd

5. 연결 테스트

ssh -p 2222 user@hostname

가장 흔한 오류는 SELinux가 활성화되어 있어서 새포트가 허용되어 있지 않아 발생하는 문제입니다.

ssh 포트 변경 SELinux 포트허용방법