Di default, SSH ascolta sulla porta 22. Cambiare la porta SSH di default aggiunge un ulteriore livello di sicurezza al tuo server riducendo il rischio di attacchi automatici.
Questo tutorial spiega come cambiare la porta SSH di default in Linux. Ti mostreremo anche come configurare il tuo firewall per permettere l’accesso alla nuova porta SSH.
Cambiare la porta SSH #
Cambiare la porta SSH di un’immagine è un compito semplice. Tutto quello che devi fare è modificare il file di configurazione di SSH e riavviare il servizio.
Le seguenti sezioni spiegano come cambiare la porta SSH su un sistema Linux.
Scegliere un nuovo numero di porta #
In Linux, i numeri di porta inferiori a 1024 sono riservati a servizi noti e possono essere legati solo da root. Anche se puoi usare una porta all’interno di un intervallo 1-1024 per il servizio SSH per evitare problemi con l’allocazione delle porte in futuro, si raccomanda di scegliere una porta superiore a 1024.
In questo esempio cambierà la porta SSH a 5522, puoi scegliere qualsiasi porta tu voglia.
Regolazione del firewall #
Prima di cambiare la porta SSH, dovrete regolare il vostro firewall per permettere il traffico sulla nuova porta SSH.
Se state usando UFW, lo strumento predefinito di configurazione del firewall per Ubuntu, eseguite il seguente comando per aprire la nuova porta SSH:
sudo ufw allow 5522/tcp
In CentOS, lo strumento predefinito di gestione del firewall è FirewallD. Per aprire la nuova porta eseguire:
sudo firewall-cmd --permanent --zone=public --add-port=5522/tcp
sudo firewall-cmd --reload
Gli utenti CentOS devono anche regolare le regole SELinux:
sudo semanage port -a -t ssh_port_t -p tcp 5522
Se state usando iptables come firewall, per aprire la nuova porta, eseguire:
sudo iptables -A INPUT -p tcp --dport 5522 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
Configurazione di SSH #
Aprire il file di configurazione SSH /etc/ssh/sshd_config
con il tuo editor di testo:
sudo vim /etc/ssh/sshd_config
Cerca la linea che inizia con Port 22
. Nella maggior parte dei casi, questa linea inizia con un carattere hash (#
). Rimuovere l’hash #
e inserire il nuovo numero di porta SSH:
Port 5522
Stare molto attenti quando si modifica il file di configurazione SSH. Una configurazione errata può causare il mancato avvio del servizio SSH.
Una volta fatto, salvare il file e riavviare il servizio SSH per applicare le modifiche:
sudo systemctl restart ssh
In CentOS il servizio ssh si chiama sshd
:
sudo systemctl restart sshd
Per verificare che il demone SSH sia in ascolto sulla nuova porta 5522, digitare:
ss -an | grep 5522
L’output dovrebbe essere simile a questo:
tcp LISTEN 0 128 0.0.0.0:5522 0.0.0.0:*tcp ESTAB 0 0 192.168.121.108:5522 192.168.121.1:57638tcp LISTEN 0 128 :5522 :*
Usare la nuova porta SSH #
Per specificare la porta, invocare il comando ssh
seguito dall’opzione -p <port_number>
:
ssh -p 5522 username@remote_host_or_ip
Se ci si connette regolarmente a più sistemi, si può semplificare il flusso di lavoro definendo tutte le connessioni nel file di configurazione SSH.
Conclusione #
In questo tutorial, hai imparato come cambiare la porta SSH su un server Linux. Dovresti anche impostare un’autenticazione basata su chiave SSH e connetterti ai tuoi server Linux senza inserire una password.