In poche parole, SSH o "Shell Secure" è un protocollo crittografato, con il quale è possibile connettersi a un server in remoto e avere accesso alle informazioni associate ad esso. Fornisce un modo molto più sicuro di registrarsi per fornire un modo sicuro di accedere senza compromettere la sicurezza.
Passaggio 1: crea la coppia di chiavi
Inizieremo con la creazione di una coppia di chiavi sul sistema del client prima con l'accesso alla root per digitare il seguente:
$ ssh-keygen
Questo innesca l'ultimo SSH-Keygen nella creazione di una coppia di chiavi RSA da 3072 bit per impostazione predefinita. È possibile aggiungere il flag -b 4086 per generare una chiave più grande. Premi Invio e memorizzerà la coppia di tasti .SSH/ Subdirectory. Tieni presente che se sei un ospite su un server che aveva già una chiave installata, il prompt ti chiederà se si desidera sovrascriverlo o no. Se è così, digita 'y' per segnalare un sì.
Successivamente, il prompt ti chiederà se vuoi aggiungere una passphrase. Puoi rinunciare, ma ti consigliamo di aggiungerne uno. Rafforza il protocollo di sicurezza servendo un ulteriore livello di protezione per bypassare per un utente non autorizzato.
Passaggio 2: copia la chiave pubblica sul tuo server
Successivamente, dobbiamo trasferire la chiave pubblica sul tuo server Ubuntu.
È possibile utilizzare l'utilità SSH-Copy-ID utilizzando il seguente comando:
$ SSH-Copy-ID Username@Server_Host
Questo dovrebbe fare il trucco entro pochi secondi. Se la chiave è stata copiata correttamente, muoviti sul terzo passaggio.
A volte, succede così che il metodo SSH-Copy-ID fallisce o semplicemente non sia disponibile. In questo caso, dovrai copiarlo tramite SSH basato su password. Questo puoi fare usando il comando cat e assicurati di aggiungere il simbolo >> da aggiungere al contenuto invece di sovrascriverlo.
$ cat ~/.SSH/ID_RSA.Pub | ssh remote_username@server_ip_address
"mkdir -p ~/.ssh && cat >> ~/.ssh/autorized_keys "
Se è la prima volta che ti connetti a un nuovo host, il tuo sistema ti mostrerà qualcosa del tipo:
Basta digitare sì e premere il pulsante Invio. Quindi immettere la password sull'account di accesso utente e la chiave pubblica verrà copiata sul tuo server Ubuntu.
Nel caso in cui l'accesso SSH basato su password ti venga negata per qualche motivo non puoi fissare, potresti sempre copiare manualmente la chiave pubblica. Aggiungi ~/.SSH/AUTORIZED_KEYS su ID_RSA.File Pub sulla tua macchina remota. Quindi, accedi al tuo account server remoto e controlla se esiste la directory ~ ssh. In caso contrario, digita:
$ mkdir -p ~/.ssh
Ora devi solo aggiungere la chiave:
$ echo public_key_string >> ~/.SSH/AUTORITED_KEYS
$ chmod -r go = ~/.ssh
Inoltre, assicurati di usare ~ ssh/ UTENTE directory e NON La directory principale:
$ chown -r Younis: Younis ~/.ssh
Passaggio 3: autentica i tasti SSH
Il prossimo passo è autenticare le chiavi SSH sul server Ubuntu. Innanzitutto, accedi al tuo host remoto:
$ ssh username@remote_host
Ti verrà richiesto di inserire la chiave passphrase che hai aggiunto nel passaggio 2. Digitalo e continua. L'autenticazione richiederà un po 'di tempo e, una volta fatto, verrai portato su una nuova shell interattiva sul tuo server Ubuntu
Passaggio 4: disabilita l'autenticazione della password
Con le chiavi SSH autenticate, non è più necessario il sistema di autenticazione della password.
Se l'autenticazione della password è abilitata sul tuo server, sarà comunque soggetta all'accesso dell'utente non autorizzato tramite attacchi di forza bruta. Quindi sarebbe meglio se si disabilita l'autenticazione basata su password.
Innanzitutto, controlla se o hai l'autenticazione basata su key SSH preparata per il radice account su questo server. In tal caso, dovresti cambiarlo in Account di accesso utente privilegiato sudo su questo server, in modo che l'accesso amministrativo sia aperto a te in caso di emergenza o quando il sistema si trova ad affrontare alcune attività sospette.
Avendo concesso i privilegi di amministrazione al tuo account di accesso remoto, accedi al server remoto con chiavi SSH con privilegi root o sudo. Quindi utilizzare il seguente comando per accedere al file di configurazione del demone SSH:
$ sudo gedit/etc/ssh/sshd_config
Con il file aperto ora, cerca la directory "passwordautenticazione" e digita di seguito per disabilitare l'autenticazione password e l'accesso SSH basato su password.
$/etc/ssh/sshd_config
..
Passwordautenticazione n
..
Per vedere queste modifiche in vigore, dovrai riavviare il servizio SSHD utilizzando il seguente comando:
$ sudo systemctl riavvio ssh
Come precauzione, apri una nuova finestra del terminale e testare che il servizio SSH funziona correttamente prima di chiudere la sessione corrente.
Con le tue chiavi SSH verificate, dovresti essere in grado di vedere tutto come normale. È possibile uscire da tutte le sessioni di server corrente.
Conclusione
Ora che hai in atto un sistema di autenticazione basato su SSH-Key, non è più necessario il sistema di autenticazione della password vulnerabile, poiché puoi semplicemente accedere senza una password. Spero che tu abbia trovato questo tutorial utile.