Studio Synthesis

crm, BI, opensource, web marketing, sicurezza, etc

Tunnel ssh – howto

leave a comment »

Per chi è solito amministrare sistemi Unix-like, la shell (o prompt dei comandi) è senza dubbio uno degli strumenti più utilizzati ed apprezzati. La shell è si molto flessibile e potente, ma per i non “addetti ai lavori”, spesso viene considerata come un oggetto misterioso o peggio pericoloso, utile solo a professionisti dell’IT oppure agli inguaribili smanettoni.

Qui di seguito vi mostriamo come questo non sia sempre vero, e come in pochi passi (in realtà, solo una breve linea di testo), sia possibile creare uno o più tunnel ssh, ovvero delle connessioni tcp/ip criptate verso un vostro server remoto; questo ci permette, tra le altre cose, di accedere così in tutta sicurezza a servizi disponibili solo sul server locale, come, in questo esempio, ad un server mysql.

Per fare questo abbiamo bisogno di:

– un ambiente deskltop unix-like (qualunque distribuzione di GNU/Linux, oppure le ultime versioni di OSX dei pc Apple) dal quale aprire il tunnel

– un server remoto su cui sia in esecuzione sshd (Secure SHell Daemon) verso il quale aprire il tunnel

– un utente abilitato al login sul server

– un server mysql up and running sul server remoto, ed un utente associato

Sul nostro pc, apriamo una shell, lanciando il programma “Terminal” o “Terminale” (NOTA: in alcuni ambienti viene chiamato “Console”). Si aprirà una finestra in cui ci verrà presentato un prompt, qualcosa del tipo:

alieno@viper:~$

con tipicamente un cursore lampeggiante. Questo ci indica che il terminale è in attesa di un nostro comando; per aprire una shell sul nostro server “mioserverremoto.miodominio.it” e creare un tunnel sulla porta 3306 (mysql) tra queste due macchine, digitiamo

alieno@viper:~$ ssh -N -L 3306:127.0.0.1:3306 mionomeutente_su_serverremoto@mioserverremoto.miodominio.it

Ora, per accedere al server mysql sulla macchina remota direttamente dal nostro pc desktop, non dobbiamo fare altro che aprire una connessione sulla porta locale 3306.

alieno@viper:~$ mysql -u mio_utente_mysql -pMiaPassword -h 127.0.0.1

In questo esempio abbiamo aperto un tunnel per accedere al server mysql, ma nulla ci vieta di farlo per altri servizi, come ad esempio un server web non esposto. Ovviamente questa è solo una delle innumerevoli potenzialità offerte dalla suite “ssh”; per chi fosse interessato ad approfondire ulteriormente l’argomento, riporto un link in italiano su ssh, e di seguito la man page (manuale) in inglese.

http://www.cert.garr.it/documenti/ssh/

http://www.linuxmanpages.com/man1/ssh.1.php

Written by Alexander Fortin

18 giugno 2009 a 7:05 PM

Pubblicato su opensource

Tagged with , , , , , ,

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: