Para llegar a mi máquina en mi oficina, en este momento estoy haciendo esto:
me@home:~$ ssh unix.university.com
me@unix:~$ ssh unix.department.univeristy.com
[email protected]:~$ ssh office-machine.department.university.com
me@office-machine:~$ echo "This is very annoying"
¿Hay una manera fácil de automatizar este proceso, quizás un solo comando que pueda usar al final?
ssh
multiple-machines
Lucas
fuente
fuente
Respuestas:
Puede usar el cliente ssh para ejecutar ssh en la máquina remota al iniciar sesión.
(La razón que incluyo
-t
en las invocaciones es porque ssh me estaba dando errores re: stdin no era un terminal cuando lo probé en mi propia máquina; su máquina puede ser diferente).Cuando salga del último shell, el proceso saldrá en cadena, lo que le ahorrará escribir Ctrl-Duna y otra vez.
fuente
tar cf - something | ssh somewhere "cd /path/remote ; tar xf - "
: ¡podría corromperse si agrega-t
! Vea, por ejemplo, la maravillosa respuesta de StephaneChazelas unix.stackexchange.com/questions/151916/ ... )-J
opción. Creo que podría hacerlo con múltiplesProxyCommand
opciones en su configuración.-J
usted puede especificar una lista de saltos separados por comas para pasar. Pero usarProxyCommand
con-W
sigue siendo un enfoque mucho mejor que esta respuesta si está usando una versión demasiado antigua para admitir-J
.Sí, hay una excelente manera de hacerlo usando ssh ProxyCommand y netcat
Ponga algo como esto en su .ssh / config
Esto iniciará sesión directamente en cualquier servidor .department.university.com usando el host jump / bastion unix.university.com. También puede necesitar una estrofa para unix.university.com directamente.
Aquí hay un enlace que explica cómo funciona: http://backdrift.org/transparent-proxy-with-ssh
Con esta técnica, ahora solo puedes escribir
y todo aparecerá directo. Las herramientas como rsync, scp, etc. (cualquier cosa en la pila ssh) también funcionarán de manera transparente.
fuente
-W
opción, puede hacer algo como enProxyCommand ssh -W %h:%p gateway
lugar de depender de ncProxyCommand ssh -W %h:%p user@gateway
En OpenSSH 7.3, ssh agregó el
-J
indicador de línea de comando y laProxyJump
opción de configuración correspondiente para resolver exactamente este problema.Proporcione a los hosts a los que desea enviar una lista separada por comas
-J
. Por ejemplo:fuente
Túneles SSH. No recuerdo exactamente cómo hacer esto, sin embargo, sé que hay una manera de hacer que una máquina permita básicamente un túnel mediante la conexión a un puerto separado. De esa manera, simplemente navega a la misma máquina inicial (con un puerto diferente, por ejemplo) y lo dejará en su ubicación final.
Sin embargo, tendría que buscar cómo configurarlo.
:)
fuente