Estoy intentando Vagrant-ificar un proyecto para simplificar la configuración de dependencias para mis usuarios. Una de las dependencias es un túnel SSH, desde el puerto A en el host B hasta el puerto C, usando la opción ssh -L
.
Puedo utilizar con éxito el comando de tunelización ssh -L <A>:<B>:<C>
en mi computadora host y me gustaría poder hacerlo en una máquina virtual Vagrant.
Ya configuré exitosamente Vagrant para realizar el reenvío de agentes ssh, a fin de usar las claves ssh del host para autenticarme en repositorios privados de git. Pero aquí he llegado al final de mis conocimientos sobre ssh y Vagrant cuando se trata del agente que reenvía el túnel. ¿Es tal cosa siquiera posible?
Respuesta1
Resulta que las claves se estaban reenviando, pero ssh estaba usando el vagrant
nombre de usuario en lugar del nombre de usuario del host. Cuando corregí el nombre de usuario, el túnel ssh comenzó a funcionar en Vagrant.
Respuesta2
No dices si el túnel debe hacerse de anfitrión a invitado o al revés, ni dónde está B
, ni por qué no puedes acceder a él directamente...
Si desea crear un túnel desde algunas de las interfaces del anfitrión hasta el invitado, puede utilizar la función integrada de Vagrant.reenvío de puertos. O simplemente agregadirección de red privadaa la máquina virtual.
Si desea obtener un túnel del invitado a través del host, utilícelo ssh -R
en lugar de ssh -L
desde el host. Pero en la mayoría de los casos puedes conectarte al destino directamente desde la VM.