Il modo principale per connettersi a un server Linux è tramite Protocollo SSH. Questo tipo di connessione è sicuro, perché tutti i dati trasferiti tramite essa sono criptati. Per a stabilire una connessione SSH dovresti configurarlo sul server remoto a cui vuoi connetterti e sul client dal lato utente. C'è un sacco di software per la connessione SSH. Per quanto riguarda Linux, il pacchetto OpenSSH è il più popolare e per Windows le persone usano principalmente PuTTY.
Diamo un'occhiata più da vicino alla configurazione del server usando Ubuntu Server 18.04 come esempio, quindi proviamo a connetterci al server da Linux e Windows.
Tutto ciò che faremo sarà dall'account di un utente ordinario. In questo caso, abbiamo creato un utente "Michael", E"radice"l'account è disabilitato per impostazione predefinita.
Configurazione lato server
Imposta il pacchetto eseguendo questo comando:
sudo apt install openssh-server
Una volta terminata l'installazione, assicurati che il servizio sia in esecuzione. Usa questo comando:
systemctl status sshd
Stato "Attivo (in esecuzione)" significa che il servizio è abilitato e funziona normalmente.
Per evitare che il firewall blocchi le connessioni in entrata, assicuratevi di disattivarlo, perché in questo articolo non configureremo il firewall di rete.
Usa questo comando:
sudo ufw disable
A questo punto puoi già connetterti al server. Con le impostazioni predefinite il server consente la connessione alla porta standard 22 con autenticazione basata su password.
Connessione SSH da Linux
Di norma, il client OpenSSH è installato su Linux per impostazione predefinita e non richiede alcuna configurazione manuale aggiuntiva. La connessione può essere stabilita dal terminale con l'aiuto del comando ssh. I parametri in questo caso sarebbero username e indirizzo IP del server remoto. Sul nostro server di prova che stiamo usando come esempio c'è un solo account "mihail", quindi useremo questo.
ssh [email protected]
Alla prima connessione dovrai confermare l'aggiunta della chiave pubblica del server al database, quindi rispondi "sì”. Dopo di che puoi inserire la password. Se la connessione è stata stabilita con successo, vedrai un testo di benvenuto della riga di comando del server. Ora tutti i comandi saranno eseguiti direttamente sul server remoto.
SSH da Windows
Apri Putty e imposta i parametri di connessione. Assicurati che l'interruttore "Tipo di connessione" è girato a SSH. Inserisci l'indirizzo IP in "Host Name"campo, valore predefinito 22 in "Porto"E fare clic su"Apri".
Al primo collegamento stucco ti chiederà di confermare che ti fidi di questo server, quindi fai clic su "Si"
Dopo aver inserito login e password, verrà visualizzata la riga di comando del server remoto.
Autenticazione tramite chiave. Aumento del livello di sicurezza
Quando un client tenta di stabilire una connessione sicura al server tramite SSH, prima di consentire la connessione il server richiede di autenticare (verificare) il client. Come accennato in precedenza, l'autenticazione basata su password è solitamente utilizzata per impostazione predefinita. Non fornisce una sicurezza robusta, perché c'è sempre un modo per forzarla bruta. Inoltre, l'autenticazione tramite password non è applicabile alle connessioni SSH con l'uso di script.
Per questo tipo di attività esiste un metodo di autenticazione speciale tramite chiave. Il punto è che il client genera chiavi private e pubbliche e poi la chiave pubblica viene inviata al server. Dopo di che non hai bisogno di password per connetterti al server, perché l'autenticazione viene condotta in base alle chiavi pubbliche e private del client. Per fornire un buon livello di sicurezza, l'accesso alla chiave privata dovrebbe essere limitato. Poiché la chiave privata è archiviata sul lato del client e non viene trasferita tramite la rete, si ritiene che questo metodo sia più sicuro.
Autenticazione tramite chiave su Linux
Generiamo chiavi pubbliche e private sul client con l'aiuto del software di utilità ssh-keygen. Lo strumento suggerirà di cambiare il percorso alla chiave privata e di inserire una passphrase per una maggiore sicurezza. Lascia tutti i parametri di default premendo Invio a tutte le richieste.
Di conseguenza, nella directory home nella cartella .ssh troverete due file generati: id_rsa and id_rsa.pub che contengono rispettivamente chiavi private e pubbliche.
Dopodiché, dovrai inviare la chiave pubblica al server. Per farlo, copia il contenuto del file “id_rsa.pub"file in"~ / .ssh / authorized_keys" file sul server. Andiamo nel modo più semplice con l'aiuto di "ssh-id-copia" tool. Inserisci login e indirizzo IP del server, proprio come nel caso di una connessione ordinaria. Dopo aver inserito la password, la chiave pubblica del client verrà automaticamente copiata sul server. Esegui questo comando:
ssh-copy-id [email protected]
Dopo aver eseguito tutte queste operazioni, il server non richiederà più l'inserimento della password.
Autenticazione tramite chiave su Windows
Apri STUCCO GEN e clicca su "Generare”. Per generare le chiavi, è sufficiente spostare il mouse sullo schermo e lo strumento genererà le chiavi in modo casuale.
Dopo aver generato le chiavi, fare clic su "Salva chiave privata" e salvalo nel file con la chiave privata sul tuo disco. Puoi impostare qualsiasi percorso tu voglia, ma un po' più avanti dovrai specificarlo in Putty. Quindi copia la chiave pubblica dalla parte superiore della finestra.
Inviamo la chiave pubblica semplicemente copiandola sul terminale. Apri stucco e connettiamoci al server come al solito. Ora creiamo “.ssh/chiave_autorizzatee impedisce agli altri utenti di accedere al file, in modo che sia disponibile solo al creatore.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
Dopo aver creato il file, inserisci la chiave pubblica del client. Nella fase precedente abbiamo copiato la chiave pubblica negli appunti. Per registrare ciò che è negli appunti nel file, usa il comando cat e il reindirizzamento dell'output.
cat > .ssh/authorized_keys
Dopo aver inserito il comando, fai clic con il tasto destro del mouse nella finestra del terminale e incolla ciò che è negli appunti. Per confermare l'input, premi "Ctrl + D" collegamento e disconnettersi dal server.
Ora specifichiamo il percorso della chiave privata in Putty e connettiamoci nuovamente al server.
Da ora in poi, per connetterti al server dovrai solo inserire il nome utente. Se stai provando a connetterti al server da un altro dispositivo che non ha la chiave privata corretta, il server richiederà la password. Dopo aver impostato l'autenticazione basata su chiave, puoi impedire l'accesso tramite password.