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?

Respuestas a la pregunta(1)

Su respuesta a la pregunta