PDA

View Full Version : TUNNEL SSH


SerMagnus
20-07-2006, 15:28
Ciao raga,
vorrei creare un tunnel per una connessione ssh, mi date qualche info, suggerimento o link a riguardo?

Grazie e ciao ;D

ilsensine
20-07-2006, 16:17
Parametri -L o -R di ssh.

Ad es:

ssh <utente>@<host> -L 1234:10.1.1.2:4321
fa sì che le connessioni sulla porta locale 127.0.0.1:1234 vengano rigirate all'host, che a sua volta aprirà delle connessioni sull'ip 10.1.1.2 porta 4321.

-R fa il contrario; apre un socket in ascolto sull'host remoto, e le connessioni le reindirizza su ip:porta bersaglio facendole effettuare dall'host locale.

SerMagnus
20-07-2006, 16:30
grazie mille.... ok, fin qui ci sto! ora se volessi farci passare una connesisone vnc come devo fare?

instauro una connessione vnc tra il server e il client ssh e poi?

ilsensine
20-07-2006, 16:37
Guarda, posso dirti come l'ho utilizzato per farci passare una connessione rdesktop.

Ho questa situazione:
- Sistema locale: il "mio" computer con connessione ad internet

- Sistema remoto: computer con ip pubblico <ip_pub>, connesso ad una sua lan interna. Nella lan c'è un WinXP con indirizzo (privato) 192.x.x.x.

Cosa faccio:

ssh username@<ip_pub> -L 3389:192.x.x.x:3389
(nb la porta 3389 è la porta di default di rdesktop)

Una volta aperto un canale, lancio (dal mio computer):
rdesktop -K -P -E 127.0.0.1

La connessione a 127.0.0.1:3389 passa per il tunnel sulla macchina remota con ip pubblico; da lì viene rediretta su 192.x.x.x:3389, dove c'è il computer interno su cui gira WinXP.

SerMagnus
20-07-2006, 17:00
scusami... ma nn ci ho capito molto :D il punto è che nn riesco a capire se devo far partire il codando dal client ssh

in pratica io ho fatto:
pc remoto (linux) -> server ssh in ascolto sulla porta X
pc client (win) -> avvio putty e mi collego tramite ssh a pc remoto <- DA QUI FACCIO PARTIRE I COMANDI?

ilsensine
20-07-2006, 17:02
E' il client che richiede al server di reinstradare una porta.

Non so se putty supporta il forward delle porte TCP; parlavo del client ssh di linux...

SerMagnus
20-07-2006, 17:08
E' il client che richiede al server di reinstradare una porta.

Non so se putty supporta il forward delle porte TCP; parlavo del client ssh di linux...

azz questa nn la sapevo... cmq ho controlalto e putty permette il forward della porta, tant'è vero che è sotto la voce tunneling..

secondo te che settaggi dovrei mettere?

ilsensine
20-07-2006, 17:11
Dovresti aver capito che mi manca il substrato software per eseguire e testare un programma come putty :fagiano:

SerMagnus
20-07-2006, 17:25
lol vero XD
ecco alcuni shot:

http://img501.imageshack.us/img501/5928/puttyjx1.th.jpg (http://img501.imageshack.us/my.php?image=puttyjx1.jpg)

ilsensine
20-07-2006, 17:32
A spanne, direi che devi mettere la porta vnc locale in "source port", e in "Destination" metti la destinazione nella forma ip:porta. Il resto dovrebbe rimanere invariato; mi sembra l'equivalente di ssh -L <source port>:<dest ip>:<dest port>
Per semplicità fai come ho fatto io, metti la porta locale uguale alla porta destinazione (che deve essere pari alla porta di ascolto del server vnc). Non è obbligatorio (e sicuramente non puoi farlo se anche sul client è in esecuzione un server vnc).

NighT*HaWk
20-07-2006, 17:33
Sei riuscito con putty??
Altrimenti c'e' un utile SSH for Windows, un progettino che non e' stato piu' aggiornato da un po' pero ' e' free e ti garantisco che (almeno la parte client) funziona benissimo e puoi giocare con i forwarding come questi anche da un batch dos perche' ti inserisce il comando "ssh" nel cmd.
Saluti!

SerMagnus
20-07-2006, 17:46
purtroppo ancora nn ci sono riuscito...

mi schiarite un po' le idee?

con porta locale si intende quella su cui sto facendo girare il client ssh e il viewer vnc?

di conseguenza con destinazione:porta remota si intende il pc server su cui gira il tunnel SSH creato con il comando -R e su cui ho fatto partire VNCSERVER

NighT*HaWk
20-07-2006, 17:59
Spero di poterti aiutare con un esempio....
Con questo comando:

ssh user@SERVER_SSH -L PORTA_LOCALE:IP_REMOTO:PORTA_REMOTA

Andresti a fare un forwarding della tua PORTA_LOCALE sulla PORTA_REMOTA dell'pc con IP_REMOTO passando tramite l'SERVER_SSH loggandoti con l'utente specificato in user.
Ovvero se vuoi andare in vnc per esempio su un pc che sta dietro un firewall e non hai un nat, se il firewall ha l'ssh server attivo e sai una login tu puoi arrivare dal tuo pc connesso ad internet direttamente su un pc che sta in un'altra lan dietro a un firewall!!Facendo ad esempio:

ssh [email protected] -L 5900:192.168.1.21:5900

Tu tramite l'utente pippo del firewall che risponde all'indirizzo pubblico 158.45.132.24 arrivi sul pc di indirizzo privato 192.168.1.21 che sta dietro di lui!!
E quel 5900:IP:5900 significa che tu chiamando la 5900 del TUO pc (localhost:5900) vai a finire sulla 5900 dell'altro pc!!! ma nessuno ti vieta di fare

ssh [email protected] -L 1234:192.168.1.21:5900

cosi quando tu apri il vnc viewer e lo fai puntare a 127.0.0.1:1234 arrivi sul pc 192.168.0.21 sulla porta 5900 ma questo pc sta dietro al 158.45.132.24!!!
Questo e' un esempio fatto per raggiungere via vnc un pc che sta in un altra rete dietro a un fw senza i nat necessari attivi. Lo stesso lavoro lo puoi fare rimanendo nella tua rete interna ma vi ci vedo meno applicazioni pratiche.

Dimmi in particolare il tuo tunnel che giro deve fare cosi' vediamo di fare esempi piu' vicini al tuo problem.
Ciau

NighT*HaWk
20-07-2006, 18:08
in putty nn mi ricordo di preciso come configurarlo ed ora nn posso provare, argh...
pero' me lo ricordo un po' incasinato configurarlo da li.....preferivo dare il comando per esteso usando ssh for windows.

se vuoi farti una bella lettura sull'ssh ..... http://unixhelp.ed.ac.uk/CGI/man-cgi?ssh+1
o se vuoi l'ssh per windows (la parte client sono sicuro che funzia da dio su win 2k e xp) http://sshwindows.sourceforge.net/

ciau

SerMagnus
20-07-2006, 18:13
il mio tunnel non deve fare nessun giro particolare in pratica ho montato il muletto in lan (sono 2pc)

il muletto ha ip: 10.0.0.4 e gira su linux e vnc

voglio controllarlo dal desktop con ip: 10.0.0.2 su cui gira win con vncviewer


il punto è che nn riesco a capire che comandi mandare su uno e sull'altro! :(
scusatemi se dico sempre le stesse cose, sarà xkè oggi nn riesco a concentrarmi :muro:

NighT*HaWk
20-07-2006, 18:20
be in questo caso se rimani in lan non ti serve nessun tunnel SSH :)
sul pc DA CONTROLLARE devi avviare un vnc server, ovvero essendo in linux devi semplicemente attivare il controllo remoto vnc ma per fare questo da interfaccia grafica devi dirmi che distribuzione usi.
fatto questo, e messe le tue impostazioni di autenticazione con password (la via piu' breve direi) dal pc windows ti scarichi un Real VNC o Ultra VNC che vuoi (io uso il real vnc 337 ed e' stra compatibile con i protocolli soliti di controllo desktop delle attuali distro) e poi ti avvii il VNC VIEWER e nel vnc viewer scrivi direttamente l'indirizzo ip del pc linux, senza fare nessun tunnel, e voila'....... se ho capito bene la tua situaziun.

ciau

SerMagnus
20-07-2006, 18:32
si perfetto hai inquadrato la situazione! voreri un grado di sicurezza superiore xò perché che vorrei controllarlo, saltuariamente, anche altrove (tipo quando nn sono a casa)

del resto questo sono riuscito a farlo, ho installato sulla mia bella distro UBUNTU DAPPER x11vnc e con ultravnc (a propostito tu real me lo consigli?) va che è un amore :D

l'ingrippo stà con questo dannato ssh... oddio con sshd e putty sono riuscito ad accedere alla shell da remoto ma nn riesco a fare altro.

NighT*HaWk
20-07-2006, 19:26
x controllarlo quando non sei a casa ci sono due vie:
1) hai un router e in questo caso ti serve un nat
2) hai uno dei due pc collegato ad internet e in quel caso le strade sono due
2a) il pc e' quello linux....quindi chiami direttamente l'ip pubblico e sei arrivato :)
2b) il pc collegato e' l'altro...in quel caso ti serve il SERVER ssh su quello windows!!!

Come sei messo a connessione??

SerMagnus
20-07-2006, 21:01
i due pc sono dietro router che supporta funzioni di nat e port forwardin... quindi credo che basti impostare la porta verso il pc desiderato, confermi?

detto questo finalmente dopo tanto sbattere sono riuscito a creare il tunnel (almeno credo) ssh! :winner:

ho utilizzato SSH for WINDOWS, e dopo tanto sbatte ho trovato come fare:
> ssh user@domain -p PORTASSHD -L portalocale :IPTARGET: portaremota

questo conferma che concettualmente avevo sbagliato approccio, infatti ero convinto che questo comando andasse lanciato sul "SERVER", invece mi sbagliato xkè doveva partire dal "CLIENT"

ora basta avviare VNCVIEWER con localhost


detto questo, mi sorge una domanda: è normale che devo settare la porta del demone ssh (quella che fino a questo momento ho utilizzato per la shell remota) ?

NighT*HaWk
21-07-2006, 02:05
i due pc sono dietro router che supporta funzioni di nat e port forwardin... quindi credo che basti impostare la porta verso il pc desiderato, confermi?

detto questo finalmente dopo tanto sbattere sono riuscito a creare il tunnel (almeno credo) ssh! :winner:

ho utilizzato SSH for WINDOWS, e dopo tanto sbatte ho trovato come fare:
> ssh user@domain -p PORTASSHD -L portalocale :IPTARGET: portaremota

questo conferma che concettualmente avevo sbagliato approccio, infatti ero convinto che questo comando andasse lanciato sul "SERVER", invece mi sbagliato xkè doveva partire dal "CLIENT"

ora basta avviare VNCVIEWER con localhost


detto questo, mi sorge una domanda: è normale che devo settare la porta del demone ssh (quella che fino a questo momento ho utilizzato per la shell remota) ?

la porta la devi settare solo se e' diversa da quella standard, che se le mie 5 medie bionde di questa sera non mi fanno sbagliare e' la 22. :D
bravo, il tunnel e' proprio cosi' e' l'hai fatto pure con ssh 4 windows.....+serio di putty, devi scrivere tu il comando ;) :D :cool:

x il nat se vuoi passare tramite tunnel ssh dovrai nattarti la 22 verso il pc desiderato.
ocio che pero' ssh cripta la comunicazione.....x cui rallenta un po' rispetto al vnc in chiaro suppongo....
saluti!

SerMagnus
21-07-2006, 10:20
GRAZIE MILLE RAGA!! Siete stati di vero aiuto, grazie :D


ps: come faccio ad essere sicuro che la connessione passa effettivamente con nel tunnel? esiste un analizzatore? è una piccola curiosità :mc:

ciaoo

NighT*HaWk
21-07-2006, 10:32
sei sicuro che passa dal tunnel se fai la chiamata su localhost con vncviewer e funziona!!!..........non ci fosse non ci arriveresti!!!
Analizzatore del traffico di rete....... = SNIFFER???
The best...ETHEREAL (http://www.ethereal.com/) !!!
x Win e x Linux..

SerMagnus
21-07-2006, 21:30
grande! grazie mille