CentOS7 SSH 포트변경 방법

SSH 서버 포트 변경

# sshd 포트 변경
sudo vi /etc/ssh/sshd_config

# Port 22   #22번 포트 주석처리, 사용안함
Port XXXX  #포트 추가


# selinux에 ssh용 XXXX 포트 추가
sudo semanage port -a -t ssh_port_t -p tcp XXXX

# (참고) semanage 명령어가 없으면 [sudo yum -y install policycoreutils-python;]으로 설치


# 방화벽에 XXXX 포트 추가
sudo firewall-cmd --add-port=XXXX/tcp
sudo firewall-cmd --add-port=XXXX/tcp --permanent

# 또는 다음파일을 수정한 이후 방화벽을 재기동 하여도 됨
sudo vi /etc/firewalld/zones/public.xml
sudo firewall-cmd --reload


# sshd 재시작
sudo systemctl restart sshd.service


# 바뀐 포트 확인
netstat -anp | grep ssh
tcp  0  0  0.0.0.0:XXXX    0.0.0.0:*    LISTEN    PID/sshd

# 방화벽 확인
firewall-cmd --list-all
public (active)
  ...
  services: ssh ...
  ports: XXXX/tcp ...
  ...

기타

SELinux (Security Enhanced Linux)는 비활성화(disable)하지 않는 것이 좋음

참고

https://www.marksei.com/change-ssh-port-on-centos-7-with-selinux-and-fail2ban/