Condividi su Facebook
Open SSH ~ Lo strumento ideale
Scritto da: Monska il 21/06/2009 alle 13:12
Tag: Internet, Linux.Visto 429 volte.


Open SSH

SSH, acronimo di Secure SHell, è un protoccolo di comunicazione cifrata client/server che permette ad un host di collegarsi ad un server ed eseguire comandi da remoto.
I grandi vantaggi sono facilmente intuibili: la gestione remota di un host e la possibilità di condividere risorse "in maniera del tutto sicura" grazie alla connessione cifrata.
Grazie a queste qualità SSH si è affermato anche come sistema di gestione di apparati di rete come router, switch, nas e altri garantendo sicuramente una migliore affidabilità rispetto a telnet.

Ovviamente tutta questa popolarità è ben motivata anche dalle infinità di possibilità che SSH offre all'utente.
Vedremo ora diverse funzionalità messe a disposizione dal servizio.
Un'utilità molto utile è quella del SSH Tunnel, molto utile quando si utilizza una connessione con restrizioni sulle porte che generalmente consentono la navigazione WEB (porta 80) e ormai spesso e volentieri anche l'utilizzo di SSH (porta 22).
SSH Tunnel ci permette infatti di fare un port forwarding dal nostro host ad un altro utilizzando il tunnel SSH cifrato.
L'idea è che la nostra connessione non vada direttamente all'host richiesto, ma passando nel tunnel SSH la richiesta venga fatta passare dal server:

SSH Tunnel

Il comando da dare nel caso di un tunnel da host1 a host2:porta è:

Code:
$ ssh <user>@<host> -L <localport>:<host_da_raggiungere>:<porta_host_da_raggiungere>

Facciamo un esempio:

Code:
$ ssh root@10.0.0.1 -L 5000:codiceasbarre.net:80

Impartito questo comando se provate ad andare su un browser e digitare l'indirizzo http://localhost:5000 vedrete che la pagina che vi sarà mostrata sarà quella di codiceasbarre.net.
Quello che è successo è che passando per l'host 10.0.0.1 avete fatto una richiesta sulla porta 80 al server codiceasbarre.net.
Nonostante le enormi potenzialità di questo tipo di servizio, ci rendiamo conto che se fossimo in una rete che permette connessioni solo sulle porte 22 e 80, risulterebbe alquanto scomodo definire un tunnel per ogni host:port che vogliamo raggiungere.
Esiste allora la possibilità di definire un tunnel dinamico con il seguente comando:

Code:
$ ssh root@10.0.0.1 -D 8080

Ci basterà ora impostare sul nostro computer un proxy socks all'indirizzo 10.0.0.1:8080 e TUTTE le nostre connessioni passeranno nel tunnel e arriveranno all'host da noi scelto.
Per controllare se effettivamente il tutto sta funzionando vi basta andare a fare un confronto degli ip, tramite un qualsiasi sito internet che vi mostri il vostro indirizzo (per esempio questo), prima di utilizzare il tunnel e dopo.

Altra possibilità di utilizzo di SSH è quello di trasportare applicazioni X Window. Aperta una sessione SSH, tutti i comandi che utilizzano interfacce grafiche basate su Xserver verranno lanciate in remoto ma visualizzate sul client.
Per utilizzare questa funzionalità basta utilizzare il parametro -X, e ovviamente il server deve avere abilitato nel suo file di configurazione (/etc/ssh/sshd_config) la voce X11Forwarding.

Code:

$ ssh <user>@<host> -X
$ gedit

Vedrete che gedit si aprirà sul vostro desktop ma il processo sarà attivo sul server remoto.

SSH offre anche altre potenzialità per le quali però vi rimandiamo a

Code:

$ man ssh


21/06/2009 - 14:00:23NeRON dice:
mh... manca il tastino "mi piace"
comunque mi piace :P

Aggiungi un commento:
Nick:
captchaInserire il codice: