Sur une Red Hat fraichement installée, il ne suffit pas de changer le port dans la configuration de SSH. Il faut aussi paramétrer SeLinux et Firewalld.

Exemple pour configurer le port 2222:

  1. Configurer SeLinux
semanage port -a -t ssh_port_t -p tcp 2222

Pour vérifier la prise en compte:

# semanage port -l | grep ssh
ssh_port_t                     tcp      2222, 22
  1. Configurer Firewalld
firewall-cmd --add-port=2222/tcp --permanent
firewall-cmd --reload

Pour vérifier la prise en compte:

#  firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client ssh
  ports: 2222/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
  1. Editer le fichier de configuration du service SSH /etc/ssh/sshd_config

  2. Recharger le service sshd

systemctl reload sshd.service

Pour vérifier la prise en compte:

systemctl status sshd.service
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2021-12-29 08:05:47 UTC; 9h ago
---
Dec 29 17:52:30 vm001 systemd[1]: Reloading OpenSSH server daemon.
Dec 29 17:52:30 vm001 sshd[21027]: Received SIGHUP; restarting.
Dec 29 17:52:30 vm001 systemd[1]: Reloaded OpenSSH server daemon.
Dec 29 17:52:30 vm001 sshd[21027]: Server listening on 0.0.0.0 port 2222.
Dec 29 17:52:30 vm001 sshd[21027]: Server listening on :: port 2222.
Hint: Some lines were ellipsized, use -l to show in full.