domingo, mayo 25, 2014

Haciendo puentes SSH entre distintos hosts con netcat

Por si en algún momento les toca hacer SSH a una máquina, para hacer SSH a otra máquina, para hacer SSH a una máquina final, como me toca hacer ahora, donde los números de puerto o los nombres de usuario son distintos, la utilización de ssh con netcat propuesta en este artículo es de suma utilidad:

Editar (o crear, si no existiera) el archivo ~/.ssh/config e incorporar las siguientes lineas (reemplazando los nombres de host donde correspondan):
Host buenvecino
    User mauro
    Hostname buenvecino.domain.net
    Port 1022

Host www
    User bitnegro
    Hostname www.example.net
    ProxyCommand ssh -q buenvecino nc -q0 www.example.net 4020

Host destino
    User bitnegro
    ProxyCommand ssh -q www nc -q0 192.168.57.215 22
Y con esto definido, es posible hacer directamente
$ ssh destino
mauro@buenvecino.domain.net's password:
bitnegro@www.example.net's password:
bitnegro@192.168.57.215's password:

Last login: Fri May 16 20:31:01 2014 from www.example.net
bitnegro@destino:~$ echo Success!!
Pero la mayor utilidad de todo esto, la crème de la crème, es que es posible hacer SCP pasando archivos de un lado a otro sin tener que hacer las copias intermedias, por lo que esta alternativa de configuración es, a mi criterio, un go-la-zo.

Créditos al autor original, al que le debo una docena de facturas.

No hay comentarios.: