Conclusione

Per impostazione predefinita, SSH è in ascolto sulla porta 22. La modifica della porta SSH predefinita aggiunge un ulteriore livello di sicurezza al server riducendo il rischio di attacchi automatici.

Invece di cambiare la porta è molto più semplice e sicuro configurare il firewall per consentire l'accesso alla porta 22 solo da host specifici.

Questo tutorial spiega come modificare la porta SSH predefinita in Linux. Ti mostreremo anche come configurare il firewall per consentire l'accesso alla nuova porta SSH.

Modificare la porta SSH

Seguire i passaggi seguenti per cambiare la porta SSH sul proprio sistema Linux.

Scegliere il numero di porta

Il primo step consiste nello scegliere il numero della nuova porta. In Linux, i numeri di porta inferiori a 1024 sono riservati a servizi noti e possono essere associati solo da root. Sebbene sia possibile utilizzare una porta nell'intervallo 1-1024 per il servizio SSH per evitare problemi con l'allocazione delle porte in futuro, si consiglia di scegliere una porta sopra 1024.

In questo esempio cambierà la porta SSH in 3344, puoi scegliere qualsiasi porta.

Regolare il Firewall

Il secondo step consiste nel regolare il firewall. Prima di cambiare la porta SSH, devi prima regolare il firewall per consentire il traffico sulla nuova porta SSH.

Se si utilizza UFW, lo strumento di configurazione del firewall predefinito per Ubuntu esegue il comando seguente per aprire la nuova porta SSH:

sudo ufw allow 3344/tcp

In CentOS lo strumento di gestione firewall predefinito è FirewallD. Per aprire la nuova porta, eseguire i comandi seguenti:

sudo firewall-cmd --permanent --zone=public --add-port=3344/tcp
sudo firewall-cmd --reload

Gli utenti di CentOS dovranno inoltre adattare le regole SELinux per consentire la nuova porta SSH:

sudo semanage port -a -t ssh_port_t -p tcp 3344

Se si utilizza iptables come firewall, il comando seguente aprirà la nuova porta SSH:

sudo iptables -A INPUT -p tcp --dport 3344 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

Configurazione SSH

Il terzo step consiste nel modificare il file di configurazione di SSH.

Apri il file di configurazione SSH /etc/ssh/sshd_config con il tuo editor di testo:

sudo nano /etc/ssh/sshd_config

Cerca la riga che inizia con Port 22. Nella maggior parte dei casi, questa riga inizierà con un hash #. Rimuovi l'hash # e inserisci il tuo nuovo numero di porta SSH che verrà utilizzato al posto della porta SSH standard 22, in questo modo:

Port 3344

Prestare particolare attenzione quando si modifica il file di configurazione SSH. Una configurazione errata potrebbe impedire l'avvio del servizio SSH.

Salvare e chiudere il file premendo CTRL+X, seguito da Y per salvare le modifiche e quindi ENTER se stai utilizzando nano.

Una volta terminato, salvare il file e riavviare il servizio SSH per applicare le modifiche:

sudo systemctl restart ssh

In CentOS il servizio ssh è chiamato sshd:

sudo systemctl restart sshd

Per verificare che il daemon SSH sia in ascolto sulla nuova porta 3344 digitare:

ss -an | grep 3344

L'output dovrebbe assomigliare a questo:

tcp   LISTEN      0        128            0.0.0.0:3344           0.0.0.0:*
tcp   ESTAB       0        0      192.168.111.111:3344     192.168.111.1:57638
tcp   LISTEN      0        128               [::]:3344              [::]:*

Utilizzare la nuova porta SSH

Ora che hai cambiato la porta SSH quando accedi al computer remoto dovrai specificare la nuova porta.

Utilizzare l'opzione -p <port_number> specificare la porta:

ssh -p 3344 [email protected]_host_or_ip

Conclusione

In questo tutorial, hai imparato a cambiare la porta SSH sul tuo server Linux. È inoltre possibile configurare un'autenticazione basata su chiave SSH e connettersi ai server Linux senza immettere una password.