Torna al blog

Come usare SSH per connettersi a un server remoto in Ubuntu

Come usare SSH per connettersi a un server remoto in Ubuntu

Che cos'è SSH?

SSH significa Secure Shell. Con SSH puoi accedere a macchine remote in modo sicuro poiché la connessione è crittografata. Con il comando ssh dal terminale Linux, possiamo connetterci a server Linux remoti e lavorare come se fosse il nostro computer. Al termine di questo tutorial, dovresti avere una comprensione completa di come utilizzare SSH per connetterti a un server remoto in Ubuntu.

Sintassi

La sintassi è la regola su come utilizzare il comando ssh. Puoi riorganizzare la sintassi, ma deve essere seguito un formato diretto. Di seguito è riportato un esempio di sintassi per l'utilizzo del comando ssh:

Il nome di dominio o l'indirizzo IP a cui desideri connetterti è il remote_host come mostrato nel comando sopra. Questa sintassi presuppone che il tuo nome utente sul sistema remoto e sul tuo sistema locale siano gli stessi. Tuttavia, nel caso in cui i nomi utente non siano gli stessi, puoi indicarlo con questo comando:

Dovrai verificare la tua identità fornendo una password non appena ti connetti al server. Digita il comando exit per tornare alla tua sessione locale.

Come configurare SSH

Il file di configurazione principale di sshd in Ubuntu si trova in /etc/ssh/sshd_config. Se modifichi la configurazione SSH, le impostazioni del server SSHD cambieranno automaticamente. Prima di qualsiasi configurazione, assicurati di eseguire il backup della versione corrente del file utilizzando questo comando:

Usa un editor di testo per aprirlo:

Dovresti lasciare invariati la maggior parte dei parametri in questo file. Tuttavia, ci sono alcune cose a cui dovresti prestare attenzione:

Le dichiarazioni della porta indicano la porta su cui il server SSHD è in attesa di connessioni. Il valore predefinito è 22. A meno che non ci siano motivi specifici, non è necessario modificare questa impostazione:

La dichiarazione della chiave host indica dove si trova la chiave host globale:

Il livello di log che deve essere registrato è indicato con questi due elementi. Se riscontri problemi nell'uso di SSH, un ottimo modo per identificare il problema è aumentare il livello dei log:

Queste opzioni definiscono alcune informazioni per l'accesso per impedire accessi non autorizzati quando i file di configurazione non sono sicuri:

Queste configurazioni dei parametri sono denominate funzioni di inoltro X11. In questo modo, puoi visualizzare la GUI del sistema remoto sul sistema locale. Devi abilitare questa opzione sul server mentre ti connetti con l'opzione -X al client SSH.

Dopo aver apportato le modifiche, salva il file e chiudilo premendo CTRL-X e Y, quindi premi Invio. Se modifichi le impostazioni in / etc / ssh / sshd_config, devi riavviare il server sshd per applicare la modifica:

Per i sistemi systemd come Ubuntu 16.04 o Debian Jessie usa questo comando:

Testa a fondo le tue modifiche per assicurarti che tutto funzioni perfettamente. Probabilmente dovresti mantenere attive alcune sessioni se apporti modifiche. In questo modo, potrai ripristinare la configurazione se necessario.

Come si accede a SSH tramite chiavi? È utile accedere a un sistema remoto con una password. Tuttavia, la soluzione migliore è configurare l'autenticazione basata su chiavi.

Cos'è l'autenticazione basata su chiavi?

L'autenticazione basata su chiavi crea due coppie di chiavi chiamate chiave privata e chiave pubblica. La chiave privata si trova sul computer dell'utente ed è protetta e tenuta segreta. La chiave pubblica può essere resa disponibile a chiunque o memorizzata su qualsiasi server a cui si desidera accedere. Se si tenta di connettersi utilizzando una coppia di chiavi, il server utilizza la chiave pubblica per generare un messaggio per il computer dell'utente. L'utente può leggere il messaggio solo utilizzando una chiave privata. Il computer dell'utente invia quindi una risposta al server e il server riconosce che l'utente è autentico. Dopo aver impostato la chiave, l'intero processo si completa automaticamente in background.

Come creare le chiavi SSH

Le chiavi SSH devono essere generate sul computer dal quale si desidera effettuare l'accesso. Di solito si tratta del computer locale. Inserire quanto segue nella riga di comando:

Quindi, accettare i valori predefiniti premendo il TASTO INVIO. Le chiavi verranno generate in ~/.ssh/id_rsa.pub e ~/.ssh/id_rsa. Successivamente, digitare il comando seguente per passare alla directory .ssh:

Questi sono i permessi dei file:

list files in .ssh folder

Come si può notare, solo il proprietario può leggere e scrivere il file id_rsa. Pertanto, è necessario custodirlo in modo sicuro. Tuttavia, è possibile condividere il file id_rsa.pub e disporre dei permessi appropriati per questa attività. Il passo successivo consiste nel trasferire la chiave pubblica sul server utilizzando questa sintassi:

Questo avvia una sessione SSH ed è necessario utilizzare una password per l'autenticazione. Dopo aver inserito la password, la chiave pubblica verrà copiata nel file delle chiavi autorizzate del server in modo da potersi connettere la volta successiva senza password.

Come disabilitare l'autenticazione tramite password

Se viene generata una chiave SSH, è possibile migliorare la sicurezza del server disabilitando l'autenticazione basata solo su password. È possibile accedere al server utilizzando la chiave privata con la chiave pubblica installata sul server invece di utilizzare la console.

Nota: assicurarsi di aver installato la chiave pubblica sul server prima di procedere con questo passaggio. In caso contrario, si verrà bloccati!

Aprire il file di configurazione di sshd utilizzando questo comando:

Trovare e decommentare la riga che riporta PasswordAuthentication eliminando il carattere # all'inizio. Quindi è possibile modificare il valore in “no”:

Le opzioni PubkeyAuthentication e ChallengeResponseAuthentication sono impostate per impostazione predefinita e dovrebbero apparire così:

Non si dovrebbero modificare queste due impostazioni. Successivamente, salvare il file e chiuderlo dopo aver apportato le modifiche. Quindi, utilizzare il comando seguente per riavviare il demone SSH:

Infine, l'autenticazione tramite password è stata disabilitata e l'accesso al server sarà possibile solo tramite l'autenticazione con chiave SSH.

Conclusione

In questo tutorial, abbiamo mostrato come utilizzare SSH per connettersi in modo sicuro a un server remoto in Ubuntu. Imparare a usare SSH è fondamentale se si è un  amministratore di sistema, quindi dopo aver appreso le basi di questo tutorial è possibile procedere con funzionalità più avanzate di SSH.

Buon computing!

 

author

Akshay Nagpal

Autore · CloudSigma

Preslav Dobrev è un designer creativo presso CloudSigma, con un focus su un'identità aziendale coerente attraverso l'uso di canali di marketing tradizionali e innovativi. È abile nel fondere la visione artistica con il marketing strategico per creare narrazioni di brand di grande impatto.

Commenti

Ancora nessun commento. Scrivi il primo.