Ich versuche, von meinem Heimgerät per SSH über den Jump-Host eine Verbindung zum Endhost herzustellen, indem ich die ProxyJump-Option von OpenSSH verwende.
Der Jump-Host hat zufällig zwei IP-Adressen, die an seine einzige Schnittstelle gebunden sind: x.x.x.x
und y.y.y.y
. Es gibt eine Firewall mit einer Whitelist von IPs, denen SSH-Zugriff auf den Endhost gestattet ist. y.y.y.y
steht auf der Liste, x.x.x.x
ist es aber nicht.
x.x.x.x
Das Problem besteht darin, dass der Jump-Host standardmäßig für ausgehendes SSH verwendet wird .
Wenn ich manuell per SSH vom Jump-Host zum End-Host gehe, kann ich die Standardeinstellung mit einer OpenSSH- -b
Option wie überschreiben ssh -b y.y.y.y endhost
. Das funktioniert einwandfrei.
Wenn ich jedoch versuche, von meinem persönlichen Gerät direkt zum Endhost zu gelangen und Jumphost als Zwischenserver verwende, klappt es scheinbar nicht. Ich habe ein paar Variationen ausprobiert, um die Bindungsadresse anzugeben, ~/.ssh/config
aber ohne Erfolg.
Gibt es eine Möglichkeit, den Jump-Host anzuweisen, eine bestimmte Bind-Adresse zu verwenden?
Antwort1
Das Problem in meinem Setup war, dass das Standard-Gateway dessprunghostwurde so eingestellt, dass eine andere IP (in Ihrem Beispiel) verwendet wurde x.x.x.x
als die, die ich für den ausgehenden Datenverkehr ( in Ihrem Beispiel) sshd
verwenden wollte.y.y.y.y
Eine Methode, die bei mir funktioniert hat, war, eine bestimmte Route auf demsprunghostfür dieEndhost's IP.
Auf dersprunghost(auf meinem läuft Ubuntu 20.04):
route add -host <endhost's IP>/32 gw y.y.y.1 dev <y.y.y.y's Iface>
Wobei <endhost's IP>
IPv4 wie ist n.n.n.n
und die zugehörige <y.y.y.y's Iface>
Schnittstelle wie ist .y.y.y.y
eth0
Verweise:
Beachten Sie, dass ich speziell daran gearbeitet habe, sshd
die Route über die Floating IP von DigitalOcean zu erreichen. In diesem Fall y.y.y.y
muss dies mithilfe von Folgendem ermittelt werden:
curl -s http://169.254.169.254/metadata/v1/interfaces/public/0/anchor_ipv4/address
Wenn dieser Befehl also zurückgibt 10.10.0.7
, dann y.y.y.y
ist 10.10.0.7
.
Verweise: