%3F.png)
Tengo un servidor de destino que ejecuta Ubuntu 14.04 (llamémoslo destserver
) y un servidor de túnel que también ejecuta Ubuntu 14.04 (llamémoslo bridgeserver
), que tiene una dirección IPV4 fija. Actualmente lo tengo configurado para que, al arrancar, destserver
se utilice autossh
para conectarse a bridgeserver
:
exec autossh -M 0 -N -R 2222:localhost:22 -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -o "StrictHostKeyChecking=no" -o "BatchMode=yes" -i /path/to/bridgeserver_mybridgeuser_id_rsa mybridgeuser@BRIDGESERVER_IP_ADDR
Estoy usando autenticación de clave aquí, por lo que el comando anterior se puede completar sin contraseñas. Ahora, cuando estoy en mi computadora portátil en una red pública en algún lugar, ahora puedo hacer desde ella:
ssh -t -o ProxyCommand='ssh mybridgeuser@BRIDGESERVER_IP_ADDR nc localhost 2222' mydestuser@localhost
... y esto funciona bien, excepto que me pide dos conjuntos de contraseñas:
$ ssh -t -o ProxyCommand='ssh mybridgeuser@BRIDGESERVER_IP_ADDR nc localhost 2222' mydestuser@localhost
mybridgeuser@BRIDGESERVER_IP_ADDR's password:
mydestuser@localhost's password:
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 4.2.0-42-generic x86_64)
...
Ahora, me gustaría que este servidor de destino esté disponible para otras personas, pero no quiero compartir ningún detalle de autenticación del servidor puente (que alquilo personalmente) y, por lo tanto, no quiero compartir la contraseña de mybridgeuser
. Así que me gustaría establecer una conexión como la anterior, excepto cuando solo me preguntan la contraseña del usuario (digamos mydestuser
) en destserver
.
¿Existe una ssh
sintaxis que pueda usar en el cliente, de modo que pueda conectarme destserver
usando solo las credenciales de usuario de destserver
(sin una solicitud de contraseña de bridgeserver
), sin cambios en la configuración actual con autossh
? Si se necesitan cambios en la configuración, ¿cuáles serían los cambios en la configuración y cómo se ssh
vería el comando en la computadora portátil?
Respuesta1
Hm, puede que me equivoque en esto, pero acabo de escribir esto en mi archivo de inicio:
exec autossh -M 0 -N -R :2222:localhost:22 -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -o "StrictHostKeyChecking=no" -o "BatchMode=yes" -i /path/to/bridgeserver_mybridgeuser_id_rsa mybridgeuser@BRIDGESERVER_IP_ADDR
... en lugar de:
exec autossh -M 0 -N -R 2222:localhost:22 -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -o "StrictHostKeyChecking=no" -o "BatchMode=yes" -i /path/to/bridgeserver_mybridgeuser_id_rsa mybridgeuser@BRIDGESERVER_IP_ADDR
... aviso, acabo de agregar dos puntos antes de lo que solía ser 2222:localhost:22
; y ahora en la computadora portátil puedo emitir simplemente:
ssh mydestuser@BRIDGESERVER_IP_ADDR -p 2222
... y parece funcionar ahora, ya que sólo me pide una contraseña:
$ ssh mydestuser@BRIDGESERVER_IP_ADDR -p 2222
mydestuser@BRIDGESERVER_IP_ADDR's password:
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 4.2.0-42-generic x86_64)
...
... ¡¿mientras que antes no me dejaba hacer eso?!:
$ ssh mydestuser@BRIDGESERVER_IP_ADDR -p 2222
ssh: connect to host BRIDGESERVER_IP_ADDR port 2222: Connection refused
No estoy seguro de por qué se necesitaban estos dos puntos, por lo que todavía me gustaría leer una respuesta adecuada al respecto...