Go x / crypto / ssh - So stellen Sie eine ssh-Verbindung zur privaten Instanz über einen Bastion-Knoten her
Ich möchte dieses Szenario implementieren: Auf AWS habe ich eine VPC, in der ein öffentliches und ein privates Subnetz bereitgestellt wird. Im öffentlichen Subnetz habe ich eine "Bastion" -Instanz, während im privaten Subnetz ein Knoten einige Dienste ausführt (AKA "Dienstinstanz"). Mit dem Befehl * nux ssh kann ich Folgendes tun, um von meinem lokalen Laptop aus eine Verbindung zur "Dienstinstanz" herzustellen:
ssh -t -o ProxyCommand="ssh -i <key> ubuntu@<bastion-ip> nc %h %p" -i <key> ubuntu@<service-instance-ip>
Ich habe ein Go-Programm und möchte die folgenden Aufgaben ausführen:
ssh vom "lokalen Laptop" über die "Bastion" mit der "Dienstinstanz" verbindenVerwenden Sie die Verbindungssitzung, um einige Befehle auszuführen (z. B. "ls -l").Upload von Dateien vom "lokalen Laptop" auf "Service-Instanz"Ich habe versucht, aber nicht in der Lage, den gleichen Prozess wie bei @ zu implementier
ssh -t -o ProxyCommand="ssh -i <key> ubuntu@<bastion-ip> nc %h %p" -i <key> ubuntu@<service-instance-ip>
Kann mir jemand helfen, ein Beispiel zu zeigen? Vielen Dank
BTW, ich fand das:https: //github.com/golang/go/issues/622, was bedeutet, dass es definitiv dazu in der Lage ist, richtig?