Cambiare porta di default di OpenSSH in CentOS

Cambiare porta di default di OpenSSH in CentOS

Come sanno tutti gli admin di sistemi Linux (and co.) SSH di default è in ascolto sulla porta 22.

Sarebbe un bene cambiarla per una questione di sicurezza.

Se siamo su un sistema CentOS come possiamo fare??

Un primo metodo è cambiare porta direttamente nel file di configurazione principale; aprire con privilegi elevati il file /etc/ssh/sshd_config:

Port 20000

Basta cambiare il valore vicino alla voce Port.

Un'altra tecnica consiste nell'usate l'opzione ListenAddress:

## bind sshd to two ip address on a non-standard port ##
ListenAddress 192.168.1.100:2022
ListenAddress 217.10.21.3:2022

In questo caso, abbiamo fatto un esempio per quei server che hanno multipli indirizzi IP (ma non è detto che funzioni, da provare); nel caso più semplice basta una sola riga.

In ogni caso dovete ricaricare il servizio, e su CentOS (e affini) questo vuol dire ricaricare anche la configurazione di SELinux e del firewall.

Per SELinux:

# semanage port -a -t ssh_port_t -p tcp 20000

Per il firewall aprite il file /etc/sysconfig/iptables e aggiungete questo:

## commenta la riga relativa alla porta 22 ##
## -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20000 -j ACCEPT

E riavviate il servizio (ho messo i comandi anche per IPv6):

# service iptables stop
# service ip6tables stop
# service sshd reload
# service iptables start
# service ip6tables start

Dovreste stare a posto; provate a connettervi per verificare il tutto!

Enjoy!

PS: parte di queste guida, in verità, va bene anche per le altre distro.