Go x / crypto / ssh - Como estabelecer conexão ssh com instância privada em um nó de bastião

Quero implementar este cenário: Na AWS, tenho uma VPC, na qual é implantada uma sub-rede pública e privada. Na sub-rede pública, tenho uma instância "bastião", enquanto na sub-rede privada, há um nó executando alguns serviços (AKA "instância de serviço"). Usando o comando * nux ssh, eu posso fazer coisas assim para conectar-me à "instância de serviço" do meu laptop local:

ssh -t -o ProxyCommand="ssh -i <key> ubuntu@<bastion-ip> nc %h %p" -i <key> ubuntu@<service-instance-ip>

Eu tenho um programa Go e quero fazer o seguinte:

O ssh se conecta à "instância de serviço" do "laptop local" sobre o "bastião"use a sessão de conexão para executar alguns comandos (por exemplo, "ls -l")fazer upload de arquivos do "laptop local" para a "instância de serviço"

Eu tentei, mas não sou capaz de implementar o mesmo processo que fazer

ssh -t -o ProxyCommand="ssh -i <key> ubuntu@<bastion-ip> nc %h %p" -i <key> ubuntu@<service-instance-ip>

Alguém poderia me ajudar a me dar um exemplo? Obrigado!

BTW, eu encontrei o seguinte:https://github.com/golang/go/issues/6223, o que significa que é definitivamente capaz de fazer isso, certo?

questionAnswers(1)

yourAnswerToTheQuestion