SSH Tutorial for Linux | Cerca per titolo, autore, parola chiave | |||||||||||||||
SSH Tutorial for Linux di Mark Krenz. Questo articolo è uno dei tutorial fondamentali per la comprensione di SSH in Internet. Scritto nel 1999, venne completamente revisionato nel 2006, al fine di includervi nuove e più accurate informazioni. Per accedere ad una shell (riga di comando o command line) remota, nei sistemi Linux/Unix esistono due possibilità, la prima delle quali è il programma Telnet, presente nella quasi totalità dei sistemi operativi dotati di funzioni di rete. Accedere ad una shell remota tramite Telnet, però, pone un serio problema di sicurezza, in quanto tutto ciò che viene inviato o ricevuto nel corso di una sessione Telnet resta visibile come testo (plain text), sia all'interno della rete locale di partenza, sia all'interno della rete locale di destinazione, così da permettere a chiunque di "sniffare" (intercettare) i dati trasmessi, quali la vostra username, la vostra password, le email che leggete, i comandi che eseguite. Questo è il motivo per il quale sarebbe meglio utilizzare un programma un po' più sofisticato di Telnet, per connettersi ad un computer remoto. SSH, che è un acronimo per indicare: Secure SHell, venne creato proprio per offrire la più elevata sicurezza durante l'accesso ad un computer remoto. SSH, infatti, non solo cripta l'intera sessione di lavoro, ma offre anche le migliori tecniche di autenticazione, un servizio sicuro di trasferimento dei file, la possibilità di reinstradare le sessioni X, la possibiltà di eseguire il port forwarding, e molto altro, al fine di incrementare il livello di sicurezza delle sessioni di lavoro. SSH può utilizzare più forme di cifratura dei dati, partendo dai 512 bit, per arrivare fino ai 32768 bit, utilizzando cifrature quali AES (Advanced Encryption Scheme), Triple DES, Blowfish, CAST128 o Arcfour. Naturalmente, maggiori sono i bit utilizzati, più tempo sarà necessario per generare ed utilizzare le chiavi di cifratura e per trasferire i dati. Questa guida non tratterà di come installare SSH, ma parlerà di come utilizzare SSH. Consulta la documentazione della tua distribuzione Linux per sapere come impostare OpenSSH. Se la versione Linux che stai utilizzando è stata realizzata dopo il 2002, è molto probabile che tu abbia già installato OpenSSH. La versione SSH che puoi utilizzare su Linux è proprio OpenSSH. Al momento di stesura di questo scritto (Ottobre 2009), l'ultima versione disponibile è la versione 5.3. Se stai utilizzando una versione inferiore alla versione 3.9, ti raccomandiamo di aggiornarla al più presto. Tenteremo, innanzitutto, di connetterci ad un computer remoto, eseguendo il comando: ssh hostname dal nostro computer. Il nome hostname sarà il nome del computer remoto al quale state cercando di connettervi. Di default, ssh assumerà che voi stiate cercando di autenticarvi sulla macchina remota con lo stesso nome utente che utilizzate nel computer locale. Per connettervi, invece, con un nome utente differente, eseguite il comando: ssh remoteusername@hostname Per esempio: ssh username@username.suso.org Alla prima connessione con un computer remoto, SSH vi chiederà se desiderate aggiungere l'host remoto alla lista di host noti: rispondete SI. È molto importante prestare la massima attenzione a questa domanda, perchè la validazione dell'host (Host validation) è una delle peculiarità di SSH. Per farla semplice, SSH verificherà, ogni volta, che voi vi stiate connettendo al computer al quale pensavate di connettervi. Nel caso in cui qualcuno tentasse di ingannarvi, spingendovi a connettervi al suo computer, in modo da poter intercettare la vostra sessione SSH, voi ricevereste un qualche avviso, del tipo: WARNING: POSSIBLE DNS SPOOFING DETECTED! The RSA host key for arvo.suso.org has changed, and the key for the according IP address 216.9.137.122 is unchanged. This could either mean that DNS SPOOFING is happening or the IP address for the host and its host key have changed at the same time. Offending key for IP in: /home/suso/.ssh/known_hosts:10 Per comprendere questo messaggio, è necessario ricordare che SSH non è un programma, un software, bensì un protocollo, una serie di specifiche che definiscono come debba avvenire una comunicazione sicura via rete. Il protocollo SSH si occupa dell'autenticazione dei soggetti che comunicano tra loro, della cifratura dei dati trasmessi da un soggetto all'altro, dell'integrità dei dati trasmessi via rete. Autenticazione: se provate ad accedere ad un account di un computer remoto, SSH vi chiederà una prova digitale della vostra identità. Se fornirete questa prova, potrete accedere all'account remoto, in caso contrario, SSH vi rifiuterà la connessione. Cifratura dei dati: SSH cripta i dati da trasmettere in modo tale che risultino incomprensibili a chiunque, eccetto che al destinatario finale. Integrità dei dati: SSH garantisce che i dati trasmessi siano stati ricevuti inalterati, verificando che, durante il viaggio, non siano stati modificati da un terzo soggetto.
|
| |||||||||||||||
SSH Tutorial for Linux | Disclaimer: questo è un link a contenuti ospitati su server esterni. |