Annuncio
SSH è un ottimo modo per ottenere l'accesso remoto al tuo computer. Simile a FTP, puoi connetterti tramite SSH FTP Che cos'è SSH e come è diverso dall'FTP [spiegazione della tecnologia] Per saperne di più per ottenere un accesso sicuro a un file server con il tuo preferito Client FTP Trasferisci file FTP su tutti i tuoi siti con FileZillaUn gran numero di vecchi client FTP ha avuto problemi quando si trattava di trasferimenti di file di grandi dimensioni. Le app hanno sperimentato i soliti timeout che ti aspetteresti quando il computer rimane fermo da 15 a... Per saperne di più , accedere rapidamente a file remoti o persino montare un disco di rete sul computer. Ma in SSH c'è di più che l'accesso remoto ai file. Accesso tramite SSH nel terminale (o utilizzando PuTTY su Windows) ti dà accesso alla shell remota (dopo tutto, SSH è l'abbreviazione di Secure SHell). È così che gestisco il mio server multimediale a distanza.
Quando tu apri le porte Che cos'è il port forwarding e come può aiutarmi? [MakeUseOf spiega]
Piangi un po' dentro quando qualcuno ti dice che c'è un problema di port forwarding ed è per questo che la tua nuova app brillante non funzionerà? La tua Xbox non ti permetterà di giocare, i tuoi download di torrent rifiutano... Per saperne di più sul tuo router (porta 22 per l'esattezza) puoi non solo accedere al tuo server SSH dalla tua rete locale, ma da qualsiasi parte del mondo.Tuttavia, non vuoi rischiare di utilizzare una password debole per l'autenticazione. Se qualcuno ottiene l'accesso al tuo computer tramite SSH, ottiene l'accesso completo alla shell. Giusto per essere chiari, non è qualcosa che vogliamo. Fortunatamente, è molto facile configurare il tuo server SSH globale in modo molto sicuro utilizzando l'autenticazione basata su chiave e disabilitando del tutto l'autenticazione della password sul tuo server.
Questo è per me?
Si è tentati di lasciarsi andare alla sicurezza personale. Se stai usando il server per mezzi privati, potresti pensare che le persone semplicemente non conoscano il tuo server e quindi non proveranno a hackerarlo - sicurezza attraverso l'oscurità. sarebbe un molto presupposto sbagliato. Poiché (la maggior parte) del traffico SSH viene trasmesso sulla porta 22, gli aggressori controllano regolarmente la visibilità della porta 22 su indirizzi IP casuali, seguiti da un attacco di forza bruta. Questo è uno dei modi in cui le botnet sono realizzate per l'uso in Attacchi DDOS Che cos'è un attacco DDoS? [MakeUseOf spiega]Il termine DDoS fischia via ogni volta che il cyber-attivismo alza la testa in massa. Questi tipi di attacchi fanno notizia a livello internazionale per molteplici ragioni. I problemi che danno il via a questi attacchi DDoS sono spesso controversi o altamente... Per saperne di più .
Per farla breve: se trasmetti il tuo server SSH su Internet (cioè la porta di inoltro 22), allora sì, questo è per te.
L'idea degli accessi SSH basati su chiavi
Gli accessi SSH basati su chiave si basano sull'idea di crittografia a chiave pubblica. Ci vorrebbe troppo per spiegare le complessità, ma proveremo a dipingere un quadro semplice di ciò che sta accadendo dietro le quinte.
Nel processo di seguito, il computer client genera due chiavi: una chiave pubblica e una chiave privata. L'idea generale è che puoi crittografare i dati con la chiave pubblica, ma solo decrittografarli con la chiave privata. Metteremo la chiave pubblica sul server e gli chiederemo di crittografare tutte le comunicazioni in uscita con esso. Ciò garantisce che solo i client con la chiave privata possano decrittografare e leggere i dati.
1. Installa OpenSSH
Innanzitutto, configureremo un server SSH utilizzando OpenSSH. Se hai già un server SSH in esecuzione e vuoi solo sapere come configurare l'autenticazione basata su chiave, puoi saltare questo passaggio. Usa il tuo gestore di pacchetti preferito per installare l'applicazione server OpenSSH. Il modo più semplice potrebbe essere ancora quello di eseguire il apt-get comando da Terminale.
sudo apt-get install openssh-server
Inserisci la tua password, conferma e attendi un minuto per il completamento dell'installazione. Congratulazioni, ora hai un server SSH. (È stato facile!)

Puoi utilizzare l'applicazione così com'è o modificarla /etc/ssh/sshd_config
per configurarlo. Corri il man sshd_config
comando in Terminale per ottenere maggiori informazioni. Un'altra grande risorsa per saperne di più su OpenSSH è la relativa pagina di aiuto di Ubuntu.
2. Genera chiavi
Genereremo un set di chiavi. Esegui i seguenti comandi (adattati da Apri SSH/Chiavi pagina di aiuto di Ubuntu).
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
Il primo comando crea una directory nascosta ".ssh" nella tua cartella home, il secondo comando modifica i permessi di accesso della cartella mentre il terzo comando genera effettivamente un insieme di RSA chiavi. Ti verrà prima richiesta una posizione in cui salvare le chiavi (lascia vuoto e premi invio per salvare nella posizione predefinita) e in secondo luogo una passphrase.

Questa passphrase crittografa ulteriormente la chiave privata che è memorizzata sul tuo computer, essenzialmente dandoti più tempo per proteggere il server SSH se la tua chiave privata viene mai rubata. Assicurati di scegliere una passphrase che sei in grado di ricordare, poiché dovrai inserirla quando proverai a utilizzare la chiave.
3. Trasferisci la chiave pubblica
Successivamente, dovrai trasferire la chiave pubblica generata nel passaggio precedente al computer server SSH. Se la tua macchina client esegue anche Linux, questo può essere ottenuto molto facilmente eseguendo il comando seguente (sostituendo
ssh-copy-id @
Se il tuo client non supporta il comando ssh-copy-id, puoi invece utilizzare il comando seguente. È un po' più contorto, ma sostanzialmente ottiene gli stessi risultati.
gatto ~/.ssh/id_rsa.pub | ssh @ "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"
Ti verrà chiesto di inserire la password utente per il server SSH. Se i comandi vengono eseguiti senza errori, la tua chiave pubblica sarà stata copiata sul server.
4. Disabilita l'autenticazione della password
Nota che il tuo sistema non è ancora più sicuro rispetto al primo passaggio. Sebbene almeno un client sia configurato per utilizzare l'autenticazione basata su chiave, questo lascia comunque spazio ad altri client per connettersi con una password. Per finire, disattiveremo del tutto l'autenticazione della password. Dopo questo passaggio, soltanto i computer che sono passati attraverso il processo di cui sopra possono connettersi al tuo server SSH.
Per disabilitare l'autenticazione della password, modificare il /etc/ssh/sshd_config
file nel tuo editor preferito. Uno dei modi più semplici per modificare un file limitato è, ancora una volta, utilizzare Terminal. (Sono parziale a nano, ma puoi usare qualunque cosa ti trovi più a tuo agio.)
sudo nano /etc/ssh/sshd_config
A circa 40 righe dalla fine del file, troverai
#PasswordAuthentication sì
Rimuovere il simbolo del numero (#) e modificare l'impostazione su "no", come di seguito.
PasswordAuthentication no
Il file finale dovrebbe assomigliare a questo:

Salva il file premendo CTRL+X. Conferma la modifica e il nome del file e hai quasi finito. Riavvia semplicemente il server SSH per eseguirlo con queste nuove impostazioni.
sudo riavvia ssh
Noterai anche che il tuo client smetterà di chiedere la passphrase per decrittografare la tua chiave se l'autenticazione della password è disabilitata sul server. Ora che hai un server SSH sicuro, come intendi usarlo? Come file server sicuro, shell remota o per inoltrare altri servizi su SSH? Fatecelo sapere nella sezione commenti qui sotto!
Credito immagine: Shutterstock
Sono uno scrittore e studente di informatica dal Belgio. Puoi sempre farmi un favore con una buona idea per un articolo, una raccomandazione per un libro o un'idea per una ricetta.