Has de fer que tot el trànsit cap a un port d'una altra màquina passi encriptat per la connexió SSH. Tu operes sobre un port de la teva pròpia màquina i totes les peticions són transmeses per SSH fins al port de la màquina sobre la que has fet SSH.
Posem pel cas que al servidor
servidorsegur
només té obert el port 22 de SSH amb l'usuari username
, però que necessitem connectar-nos a la seva base de dades Oracle que està al port 1521. Suposem que a la nostra màquina tenim el port 1521 lliure.Per línia de comandes Linux podríem fer el següent:
ssh -L 1521:localhost:1521 username@servidorsegur -N
El paràmetre -N li diu a
ssh
que no volem executar comandes per ssh
, només fer el túnel (si és que no necessitem executar cap comanda a la shell).Un cop feta aquesta connexió ja podem connectar-nos a la base de dades com si fos una base de dades local al port 1521. Actualitzaríem el nostre
tnsnames.ora
per tenir localhost:1521
.Si el port 1521 local el tinguéssim ocupat podem fer servir un altre local, per exemple el 3000. Faríem:
ssh -L 3000:localhost:1521 username@servidorsegur -N
I a la base de dades ens connectaríem per
localhost:3000
.Amb Windows podem aconseguir el mateix amb PuTTY. Només cal configurar Connection->SSH->Tunnels i afegir el port de la màquina remota (source port) i el destí (localhost:Número de port).
No comments:
Post a Comment