Prendi sul serio la sicurezza informatica e usa le chiavi SSH per accedere agli accessi remoti. Sono un modo più sicuro per connettersi rispetto alle password. Ti mostriamo come generare, installa e usa le chiavi SSH su Linux.
Cosa c'è di sbagliato con le password??
Secure Shell (SSH) è il protocollo crittografato utilizzato per accedere agli account utente su computer remoti Linux o Unix-like. Regolarmente, questi account utente sono protetti da password. Quando accedi a un computer remoto, devi fornire il nome utente e la password dell'account a cui stai accedendo.
Le password sono il mezzo più comune per garantire l'accesso alle risorse informatiche. ciò nonostante, la sicurezza basata su password ha i suoi difetti. Le persone scelgono password deboli, condividere le password, usa la stessa password su più sistemi, eccetera.
Le chiavi SSH sono molto più sicure e, una volta configurato, sono facili da usare come le password.
Cosa rende sicure le chiavi SSH??
Le chiavi SSH vengono create e utilizzate in coppia. Le due chiavi sono collegate e crittograficamente sicure. Uno è la tua chiave pubblica e l'altro è la tua chiave privata. Sono collegati al tuo account utente. Se più utenti su un singolo computer utilizzano chiavi SSH, ognuno riceverà la propria coppia di chiavi.
La tua chiave privata è installata nella tua cartella home (in genere) e la chiave pubblica è installata sul computer remoto (o computer) che dovrai inserire.
La tua chiave privata deve essere tenuta al sicuro. Se altri possono inserirlo, sei nella stessa posizione come se la tua password fosse stata scoperta. Una precauzione sensata, e altamente raccomandato, è che la tua chiave privata è crittografata sul tuo computer con un robusto frase d'accesso.
La chiave pubblica può essere condivisa liberamente senza comprometterne la sicurezza. Non è possibile determinare quale sia la chiave privata da un esame della chiave pubblica. La chiave privata può crittografare i messaggi che solo la chiave privata può decifrare.
Quando fai una richiesta di connessione, il computer remoto utilizza la tua copia della tua chiave pubblica per creare un messaggio crittografato. Il messaggio contiene un ID di sessione e altri metadati. Solo il computer in possesso della chiave privata, il suo computer, può decifrare questo messaggio.
Il tuo computer accede alla tua chiave privata e decifra il messaggio. Quindi invia il proprio messaggio crittografato al computer remoto. Tra l'altro, questo messaggio crittografato contiene l'ID di sessione ricevuto dal computer remoto.
Il computer remoto ora sa che devi essere chi dici di essere perché solo la tua chiave privata potrebbe estrarre l'ID di sessione dal messaggio inviato al tuo computer.
Assicurati di poter accedere al computer remoto
Assicurati di poterti connettere in remoto e accedere al computer remoto. Ciò dimostra che il tuo nome utente e password hanno un account valido configurato sul computer remoto e che le tue credenziali sono corrette..
Non provare a fare nulla con le chiavi SSH finché non hai verificato che puoi usare SSH con le password per connetterti al computer di destinazione.
In questo esempio, una persona con un account utente chiamato dave
è collegato a un computer chiamato systempeaker
. Si collegheranno a un altro computer chiamato Sulaco
.
Immettono il seguente comando:
ssh dave@sulaco
Gli viene chiesta la password, vi entrano e si collegano a Sulaco. Il prompt della riga di comando cambia per confermare questo.
Questa è tutta la conferma di cui abbiamo bisogno. Allora utente dave
può disconnettersi da Sulaco
con il exit
comando:
Uscita
Ricevono il messaggio di disconnessione e la loro riga di comando torna a dave@systempeaker
.
IMPARENTATO: Come connettersi a un server SSH da Windows, MacOS o Linux
Crea una coppia di chiavi SSH
Queste istruzioni sono state testate su distribuzioni Ubuntu Linux, Fedora e Manjaro. In tutti i casi, la procedura era identica e non c'era bisogno di installare alcun nuovo software su nessuna delle macchine di prova.
Per generare le tue chiavi SSH, digita il seguente comando:
ssh-keygen
Inizia la procedura di generazione. Ti verrà chiesto dove vuoi che vengano archiviate le tue chiavi SSH. Premi il tasto Invio per accettare la posizione predefinita. Le autorizzazioni della cartella lo proteggeranno solo per l'uso.
Ti verrà ora richiesta una passphrase. Ti consigliamo vivamente di inserire una passphrase qui. E ricorda di cosa si tratta! Puoi premere Invio per non avere una password, ma questa non è una buona idea. Una passphrase composta da tre o quattro parole disgiunte, collegati tra loro, formerà una passphrase molto forte.
Ti verrà chiesto di inserire la stessa password ancora una volta per verificare di aver digitato ciò che pensavi di aver digitato.
Le chiavi SSH vengono generate e archiviate per te.
È possibile ignorare l'opzione “randomart” Mostrato. Alcuni computer remoti potrebbero mostrarti la loro arte casuale ogni volta che ti connetti. L'idea è che riconosce se l'arte casuale cambia e sospetta la connessione perché significa che le chiavi SSH per quel server sono state alterate.
Installazione della chiave pubblica
Dobbiamo installare la tua chiave pubblica in Sulaco
, il computer remoto, così sai che la chiave pubblica ti appartiene.
Lo facciamo usando il ssh-copy-id
comando. Questo comando stabilisce una normale connessione al computer remoto. ssh
comando, ma invece di permetterti di accedere, trasferire la chiave SSH pubblica.
ssh-copy-id dave@sulaco
Anche quando non accedi al computer remoto, devi ancora autenticarti con una password. Il computer remoto deve identificare a quale account utente appartiene la nuova chiave SSH.
Tieni presente che la password che devi fornire qui è la password dell'account utente a cui stai effettuando l'accesso. Questo è no la passphrase che hai appena creato.
Quando la password è stata verificata, ssh-copy-id
trasferisce la tua chiave pubblica al computer remoto.
Tornerai al prompt dei comandi del tuo computer. Non è collegato al computer remoto.
Connessione tramite chiavi SSH
Seguiamo il suggerimento e proviamo a connetterci al computer remoto.
ssh dave@sulaco
Perché la procedura di connessione richiederà l'accesso alla tua chiave privata, e perché hai protetto le tue chiavi SSH dietro una passphrase, dovrai fornire la tua passphrase per continuare la connessione.
Inserisci la tua password e fai clic sul pulsante Sblocca.
Una volta inserita la passphrase in una sessione del terminale, non dovrai inserirlo di nuovo finché hai la finestra del terminale aperta. Puoi connetterti e disconnetterti da tutte le sessioni remote che desideri, senza reinserire la password.
Puoi selezionare la casella di controllo dell'opzione “Sblocca automaticamente questa chiave ogni volta che accedi”, ma ridurrà la tua sicurezza. Se lasci il computer incustodito, chiunque può effettuare connessioni a computer remoti che hanno la propria chiave pubblica.
Una volta inserita la password, sarà connesso al computer remoto.
Per verificare la procedura ancora una volta da un capo all'altro, disconnettersi con exit
comando e riconnettersi al computer remoto dalla stessa finestra di terminale.
ssh dave@sulaco
Sarai connesso al computer remoto senza richiedere una password o una passphrase.
Nessuna password, ma maggiore sicurezza
Gli esperti di sicurezza informatica parlano di qualcosa chiamato attrito sulla sicurezza. Questo è il minimo dolore che devi sopportare per ottenere un ulteriore vantaggio in termini di sicurezza. Generalmente, sono necessari alcuni passaggi in più per adottare un metodo di lavoro più sicuro. E alla maggior parte delle persone non piace. In realtà, preferire meno sicurezza e assenza di attrito. Questa è la natura umana.
Con chiavi SSH, ottieni più sicurezza e comfort. È sicuramente un vantaggio reciproco.
impostaTimeout(funzione(){
!funzione(F,B,e,v,n,T,S)
{Se(f.fbq)Restituzione;n=f.fbq=funzione(){n.callMethod?
n.callMethod.apply(n,argomenti):n.queue.push(argomenti)};
Se(!f._fbq)f._fbq = n;n.push=n;n.loaded=!0;n.version='2.0′;
n.coda=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(T,S) } (window, documento,'copione',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('dentro', '335401813750447');
fbq('traccia', 'Visualizzazione della pagina');
},3000);