Auf meinem Computer verwende ich OpenVPN, das die tun0-Schnittstelle verwendet. Ich möchte, dass sshd nur auf dieser Schnittstelle hört.
Ich weiß, ich kann die IP-Adresse angeben, die abgehört werden soll
/etc/ssh/sshd_config
mit einer
ListenAddress 0.0.0.0
Richtlinie. Meine IP-Adresse ändert sich jedoch, sodass ich hier keine immer gültige IP auswählen kann. Ich weiß, dass ich den Daemon nur starten kann, wenn das VPN aktiv ist - das ist nicht das Problem.
Wie kann ich sshd dazu bringen, nur eine bestimmte Schnittstelle (tun0) abzuhören?
tun0
?Antworten:
Sie können dies nicht direkt tun, da sshd nur IP-Adressen versteht. Möglicherweise können Sie mithilfe eines OpenVPN-Up-Skripts etwas zusammenfügen
Siehe auch die
--down
Option zum Bereinigen und die relevanten Teile der Dokumentation, die die Skriptsicherheit usw. beschreiben.Sie werden feststellen, dass die IP-Adresse des Tun-Geräts als Umgebungsvariable an das Skript übergeben wird. Sshd übernimmt auch Optionen in der Befehlszeile des Formulars
-o Option Kann verwendet werden, um Optionen in dem Format anzugeben, das in der Konfigurationsdatei verwendet wird. Dies ist nützlich, um Optionen anzugeben, für die es kein separates Befehlszeilenflag gibt. Ausführliche Informationen zu den Optionen und ihren Werten finden Sie unter sshd_config (5).
Du könntest es also gebrauchen
Vermutlich haben Sie eine Out-of-Band-Methode, um mit Ihrem VPS zu sprechen, sodass Sie den Server kontaktieren können, wenn dies unterbrochen wird.
quelle
-o ListenAddress=$(ip addr | awk '/inet/ && /tun0/{sub(/\/.*$/,"",$2); print $2}')