Home / Sistemi operativi & mobile / Linux / Cambiare porta di default di OpenSSH in CentOS
Mattepuffo

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.