Come installare SSH su Rocky Linux 9 o 8

SSH (Secure Shell) è un protocollo sicuro utilizzato per accedere e gestire in remoto i server Linux. Fornisce comunicazioni crittografate, garantendo la sicurezza dei dati trasferiti tra il client e il server. SSH è uno strumento fondamentale per amministratori di sistema e sviluppatori, poiché consente loro di eseguire varie attività come l'esecuzione di comandi, il trasferimento di file e la gestione sicura dei servizi di rete su una rete non protetta.

Per configurare SSH su Rocky Linux 9 o 8, puoi seguire un semplice processo di installazione utilizzando i repository predefiniti. Questa guida ti guiderà attraverso i passaggi dell'installazione e fornirà suggerimenti sulla configurazione iniziale per migliorare la sicurezza e l'usabilità.

Aggiorna Rocky Linux prima dell'installazione SSH

Prima di installare e configurare SSH su Rocky Linux, è fondamentale assicurarsi che i pacchetti del sistema siano aggiornati. Ciò non solo garantisce operazioni più fluide, ma riduce anche al minimo i potenziali conflitti software.

Per aggiornare il tuo sistema Rocky Linux, usa il comando:

sudo dnf upgrade --refresh

Installa SSH tramite il comando DNF

Il passaggio successivo prevede la verifica se il server OpenSSH è già sul tuo sistema Rocky Linux. Ciò può essere accertato eseguendo il comando:

rpm -qa | grep openssh-server

Questo comando restituirà un output pertinente se il server OpenSSH è installato. Se non viene visualizzato alcun output, indica l'assenza del server OpenSSH sul tuo sistema. Per risolvere questo problema e installare il server OpenSSH, utilizzare il seguente comando:

sudo dnf install openssh-server

Abilita il servizio SSH (SSHD).

Dopo aver installato con successo il server OpenSSH, è fondamentale abilitare il servizio SSHD all'interno del framework systemd. Ciò garantisce che il demone SSH venga inizializzato automaticamente dopo ogni riavvio del sistema. Per ottenere ciò, esegui il comando:

sudo systemctl enable sshd

Con il servizio SSHD ora impostato sull'avvio automatico, puoi avviare manualmente il server SSH utilizzando:

sudo systemctl start sshd

A scopo di verifica e per garantire che il server SSH funzioni senza problemi, puoi verificarne lo stato con:

sudo systemctl status sshd

Per confermare che la porta predefinita (22) ora è attivamente in ascolto per le connessioni SSH in entrata, eseguire:

sudo ss -lt

Connettiti a un server remoto tramite SSH su Rocky Linux 9 o 8

Con SSH opportunamente configurato sul tuo sistema Rocky Linux, ora puoi stabilire connessioni a server remoti. Ecco una ripartizione dettagliata di come utilizzare SSH per vari scenari di connessione:

Connessione tramite autenticazione tramite password con SSH su Rocky Linux

Per stabilire una connessione a un server remoto utilizzando SSH con autenticazione basata su password, utilizzare il comando:

ssh username@remote_server

Qui, sostituisci "nome utente" con il tuo nome utente effettivo e "server_remoto" con l'indirizzo IP o il nome host del server remoto desiderato. Al termine dell'esecuzione, ti verrà richiesto di inserire la password per l'autenticazione.

Connessione tramite autenticazione con chiave pubblica con SSH

SSH offre l'autenticazione con chiave pubblica per coloro che preferiscono un metodo di connessione più sicuro. Per connettersi utilizzando questo metodo, il comando è:

ssh -i /path/to/private_key username@remote_server

In questo comando, sostituisci "/path/to/private_key" con il percorso che porta al file della chiave privata. Allo stesso modo, sostituisci "username" con il tuo nome utente e "remote_server" con l'indirizzo IP o il nome host del server remoto. Questo metodo ignora la necessità di inserire la password, basandosi invece sulla chiave privata fornita per l'autenticazione.

Specifica di una porta alternativa per la connessione con SSH

Sebbene SSH utilizzi per impostazione predefinita la porta 22 per le connessioni, alcuni server remoti potrebbero funzionare su porte diverse. Per specificare una porta alternativa durante la connessione, utilizzare:

ssh -p 2222 username@remote_server

In questo esempio, sostituire "2222" con il numero di porta utilizzato dal server remoto.

Trasferimento file sicuro con SCP con SSH

SCP, o Secure Copy, è una potente utility da riga di comando che facilita il trasferimento sicuro di file tra sistemi tramite SSH. Per trasferire un file dal tuo sistema Rocky Linux locale a un server remoto, il comando è:

scp /path/to/local/file username@remote_server:/path/to/remote/directory

Sostituisci "/path/to/local/file" con il percorso del file che intendi trasferire. Allo stesso modo, modifica "username" con il tuo nome utente, "remote_server" con l'indirizzo IP o il nome host del server remoto e "/path/to/remote/directory" con il percorso della directory sul server remoto in cui desideri posizionare il file trasferito file.

Configura SSH su Rocky Linux

L'ottimizzazione della configurazione SSH può migliorare la sicurezza e le prestazioni del tuo server. Il file di configurazione SSH, situato in /etc/ssh/sshd_config, contiene vari parametri che possono essere regolati per soddisfare esigenze specifiche. Sebbene le seguenti configurazioni siano solo esempi, possono essere utili a seconda della configurazione del server o del desktop.

Disabilitare l'autenticazione GSSAPI per SSH

L'autenticazione GSSAPI, sebbene utile, a volte può introdurre ritardi durante la creazione della connessione SSH. Per mitigare questo problema, puoi disabilitarlo aggiungendo la riga seguente al file di configurazione SSH:

GSSAPIAuthentication no

Modifica dei timeout della sessione SSH per SSH

La regolazione dei timeout delle sessioni può aiutare a gestire le sessioni SSH inattive. Per impostare il server in modo che invii un messaggio keep-alive ogni 5 minuti e termini la sessione se due messaggi consecutivi rimangono senza risposta, aggiungere:

ClientAliveInterval 300
ClientAliveCountMax 2

Proibire l'accesso root per SSH

Per una maggiore sicurezza, soprattutto contro gli attacchi di forza bruta, è consigliabile disabilitare l'accesso root. Ciò può essere ottenuto con:

PermitRootLogin no

Implementazione dell'autenticazione a chiave pubblica per SSH

L'autenticazione con chiave pubblica offre un'alternativa più sicura ai metodi basati su password. Per configurarlo, devi prima generare una nuova coppia di chiavi SSH:

ssh-keygen -t rsa -b 4096

Successivamente, trasferisci la chiave pubblica sul server remoto desiderato:

ssh-copy-id user@remote_server

Assicurati di sostituire "utente" con il tuo nome utente e "remote_server" con l'indirizzo IP o il nome host appropriato. Infine, abilita l'autenticazione con chiave pubblica nella configurazione SSH:

PubkeyAuthentication yes

Limitazione dell'accesso SSH per SSH

Puoi limitare l'accesso SSH a utenti o gruppi specifici per una maggiore sicurezza. Per implementarlo, aggiungi:

AllowUsers user1 user2
AllowGroups group1 group2

Sostituisci i segnaposto con i nomi utente effettivi o i nomi dei gruppi a cui desideri concedere l'accesso.

Modifica della porta SSH per SSH

SSH, per impostazione predefinita, opera sulla porta 22. Data la sua notorietà, la modifica di questa porta può scoraggiare tentativi di accesso non autorizzati. Per assegnare una nuova porta, utilizzare:

Port <port_number>

Si consiglia di selezionare un numero di porta compreso tra 1024 e 65535 che non sia occupato da un altro servizio.

Proteggi SSH con Firewalld

Garantisci un accesso ininterrotto quando lavori con un VPS o un ambiente server remoto. Prima di apportare qualsiasi modifica a Firewalld, soprattutto se accedi al sistema da remoto, è imperativo inserire nella whitelist il tuo indirizzo IP. In caso contrario, potresti inavvertitamente bloccarti fuori dal server dopo aver applicato le modifiche al firewall.

Per inserire nella whitelist il tuo indirizzo IP in Firewalld, utilizza il seguente comando:

sudo firewall-cmd --permanent --add-source=<your_ip_address>

Sostituire con il tuo indirizzo IP effettivo.

Una volta che il tuo indirizzo IP è stato inserito nella whitelist, puoi incorporare in sicurezza il servizio SSH in Firewalld:

sudo firewall-cmd --add-service=ssh --permanent

Dopo aver apportato le modifiche necessarie, applicare la nuova configurazione Firewalld:

sudo firewall-cmd --reload

Per verificare l'inclusione del servizio SSH in Firewalld, eseguire quanto segue:

sudo firewall-cmd --list-services | grep ssh

Questo comando confermerà se il servizio SSH è debitamente consentito attraverso il firewall, garantendo che le connessioni remote rimangano sicure e accessibili.

Conclusione

Con SSH installato e configurato correttamente sul tuo sistema Rocky Linux, puoi gestire in modo sicuro il tuo server da remoto. Aggiorna regolarmente le tue configurazioni SSH e applica le migliori pratiche per mantenere la sicurezza. Seguendo i suggerimenti per la configurazione iniziale, garantirai un'esperienza di gestione remota più sicura ed efficiente. Goditi le robuste funzionalità offerte da SSH per l'amministrazione sicura del server.

Joshua James
Seguimi
Ultimi post di Joshua James (vedi tutto)

Lascia un commento