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.
linux centos iptables ssh openssh selinux firewall
Commentami!