Go x / crypto / ssh: cómo establecer una conexión ssh con una instancia privada a través de un nodo de bastión
Quiero implementar este escenario: en AWS, tengo una VPC, en la que se implementa una subred pública y privada. En la subred pública, tengo una instancia de "bastión", mientras que en la subred privada, hay un nodo que ejecuta algunos servicios (también conocido como "instancia de servicio"). Al usar el comando * nux ssh, puedo hacer cosas como esta para conectarme a la "instancia de servicio" desde mi computadora portátil local:
ssh -t -o ProxyCommand="ssh -i <key> ubuntu@<bastion-ip> nc %h %p" -i <key> ubuntu@<service-instance-ip>
Tengo un programa Go y quiero hacer lo siguiente:
ssh se conecta a la "instancia de servicio" desde la "computadora portátil local" a través del "bastión"use la sesión de conexión para ejecutar algunos comandos (por ejemplo, "ls -l")cargar archivos de "computadora portátil local" a "instancia de servicio"He intentado pero no puedo implementar el mismo proceso que hacer
ssh -t -o ProxyCommand="ssh -i <key> ubuntu@<bastion-ip> nc %h %p" -i <key> ubuntu@<service-instance-ip>
¿Alguien podría ayudarme a mostrarme un ejemplo? ¡Gracias!
Por cierto, encontré esto:https://github.com/golang/go/issues/6223, lo que significa que definitivamente es capaz de hacer eso, ¿verdad?