Auf einer Debian Stretch VM (die in VirtualBox auf einem Windows 7-Host läuft) möchte ich mich per SSH mit einem bestimmten Remote-Host (nennen wir ihn myServer
mit IP 12.34.56.78
) verbinden. Dazu verwende ich mein Android-Smartphone als USB-Modem, was gut funktioniert: Ich kann auf das Internet zugreifen und etwas „Ping“ und HTTP/HTTPS-Verkehr generieren und sogar eine SSH-Verbindung mit einem Befehl wie diesem öffnen:
ssh [email protected] -b a.b.c.d -p portNumber -i ~/.ssh/id_rsa
NB: a.b.c.d
Ist die dynamische IP-Adresse, die meiner USB-Schnittstelle beim Anschluss zugewiesen wird
Der Einfachheit halber hätte ich gerne alle diese Einstellungen, ~/.ssh/config
sodass ich nur Folgendes eingeben muss ssh myServer
:
Host myServer
HostName 12.34.56.78
Port portNumber
# BindAddress a.b.c.d <== commented because this is part of the question
# BindInterface usb0 <== same as above
User httqm
IdentityFile ~/.ssh/id_rsa
- Ich kann die
BindAddress
Zeile auskommentieren und die IP-Adresse angeben, was zwar funktioniert, aber keinen Vorteil gegenüber der vollständigen SSH-Befehlszeile bietet, daa.b.c.d
es dynamisch ist Verwendung derBindInterfaceOption (ohne
BindAddress
) schlägt mit der Fehlermeldung fehl:~/.ssh/config: line 154: Bad configuration option: bindinterface ~/.ssh/config: terminating, 1 bad configuration options
Diese Fehlermeldung ist zu erwarten, da die BindInterface
Direktive mit Openssh 7.7 eingeführt wurde (https://www.openssh.com/releasenotes.html), während ich habe:
$ dpkg -l openssh-client
openssh-client 1:7.4p1-10+deb9u6
Um dieses Problem zu umgehen, erwäge ich mehrere Lösungen:
Definieren Sie eine Route mit
ip route ...
Befehlen, sodass alles, was Sie erreichen möchten,myServer
über die USB-Schnittstelle läuft. Bisher habe ich Befehle wie diese ausprobiert:ip route add to 12.34.56.78 protocol static dev usb0
Der Befehl selbst gibt keinen Fehler zurück, aber ich kann keine SSH-Verbindung damit öffnen ssh myServer
, ich kann nicht einmal einen Ping ausführen.
Definieren Sie eine Netfilter-Regel, sodass der gesamte Datenverkehr von/zu 12.34.56.78 über die Schnittstelle USB0 läuft. Würde das überhaupt funktionieren? Sollte ich diese Lösung in Betracht ziehen?
Upgrade
openssh-client
von Backports, falls verfügbar
Können Sie bitte erklären, was funktionieren würde/was nicht (und warum)? Was würden Sie vorschlagen, um mein Ziel zu erreichen, nämlich eine Verbindung zu meinem SSH-Host mit einer kurzen Befehlszeile herzustellen, beispielsweise unter ssh myServer
Berücksichtigung, dass meine Quelladresse dynamisch ist?