Ich habe zuhause mehrere Computer, auf die ich von der Schule aus mit SSH und VNC zugreifen möchte. Dafür habe ich ihnen statische IPs gegeben:
- 192.168.1.50: Windows
- 192.168.1.51: Ubuntu
- 192.168.1.52: Raspberry Pi / Raspbian
Ich weiß, dass SSH Port 22 verwendet, daher kann ich diesen Port auf meinem Router an 192.168.1.51:22 weiterleiten. Auf diese Weise kann ich jedoch keine SSH-Verbindung zu meinem Raspberry Pi herstellen. Kann ich dies so einstellen, dass auf beide Computer zugegriffen werden kann?
networking
ssh
port-forwarding
acourchesne
quelle
quelle
Antworten:
Wenn Sie IPv6 haben, brauchen Sie nicht einmal eine Portweiterleitung! Holen Sie sich einfach Ihre permanente IPv6-Adresse (basierend auf Ihrer MAC-Adresse, damit diese garantiert gleich bleibt, es sei denn, Ihr ISP weiß nicht, wie IPv6 funktioniert) und verwenden Sie diese zum Tunneln Um auf Sie zuzugreifen, ohne Ihr lokales NAT zu durchlaufen, müssen Sie die Portweiterleitung nirgendwo aktivieren. Es wird "einfach funktionieren".
Beachten Sie jedoch, dass IPv6 global immer noch nicht wirklich unterstützt wird und dass sowohl Ihre Heim-Internetverbindung als auch Ihre Remote-Internetverbindung voll funktionsfähiges IPv6 benötigen, um dies zu tun.
Wenn Sie jedoch wie die meisten Menschen sind und nur IPv4 haben, gibt es immer noch einen Weg! Bei einigen Routern können Sie bestimmte Quellports an bestimmte Zielports weiterleiten, z.
In diesem Beispiel Port
22
direkt an meine Maschine übergebensheepdog
, während Port292
zu Port weitergeleitet wird22
aufcoyote
.Wenn Ihr Router nicht über diese Funktion verfügt, können Sie den Port einfach ändern, da SSH nicht nur auf dem Port ausgeführt werden kann
22
. Sie können es auf alles einstellen, was Sie wollen (das wird nicht verwendet).In
/etc/ssh/sshd_config
(zum Bearbeiten benötigen Sie rootsudo nano /etc/ssh/sshd_config
) befindet sich oben in der Datei eine Zeile:Ändern Sie dies nach Ihren Wünschen:
Starten Sie den SSH-Server mit neu
sudo service ssh restart
und leiten Sie den Port am Router weiter.Für diesen Anwendungsfall würde ich jedoch in Betracht ziehen, ob SSH-Tunnel das Richtige sind. Vielleicht sollten Sie einen dedizierten VPN-Server in Ihrem Heimnetzwerk einrichten? Auf diese Weise können Sie von überall aus auf Ihr gesamtes Heimnetzwerk zugreifen , sofern Sie über die für das VPN erforderlichen Sicherheitsinformationen verfügen. Darüber hinaus ist der Aufwand für ein VPN etwas geringer. Normalerweise müssen Sie nur einen Port für eine Maschine weiterleiten.
quelle
Eine einfache Möglichkeit, dieses Problem zu lösen, besteht darin, verschiedene Ports Ihres Routers dem Port 22 Ihrer Computer zuzuordnen. Sie können beispielsweise die folgenden Einstellungen in Ihrem Router vornehmen (vorausgesetzt, Ihr Router verfügt über eine IP-Adresse
1.2.3.4
).Wenn Sie dann ssh verwenden, geben Sie den Port an, den Sie verwenden möchten, indem Sie Folgendes eingeben
Jetzt sollten Sie in der Lage sein, eine Verbindung zu allen Ihren Maschinen herzustellen.
quelle
Wenn Sie wissen, dass einer Ihrer Computer immer in Betrieb ist, haben Sie auch die Möglichkeit, ihn als SSH-Proxy zu verwenden.
Nehmen wir an, Sie haben einen Domainnamen für Ihre externe IP-Adresse eingerichtet (z. B. myhome.dyndns.com oder was auch immer). Sie verbinden sich auf einem Computer (sagen wir, Himbeere ist immer aktiv und Sie leiten den Port von Ihrem Router an weiter it), werden die Ihre SSH-Verbindungen sein:
Schule -> (Router, hier transparent) -> Himbeere -> Ubuntu oder Windows
Fügen Sie jetzt in Ihrer ~ / .ssh / config in der Schule die folgenden Zeilen hinzu:
So verbinden Sie sich:
Wenn Sie ab jetzt ssh ubuntu eingeben, stellt der Computer zuerst eine Verbindung zur Himbeere her und startet dann eine ssh-Sitzung mit dem Ubuntu-Computer.
Ich empfehle Ihnen, unabhängig von dem Port, den Sie weiterleiten möchten, das Kennwort in /etc/sshd.conf zu deaktivieren, damit Sie sich nur über den SSH-Schlüssel anmelden können. Auf diese Weise müssen Sie, wenn Sie den Schlüssel auf der Himbeere und auf Ubuntu mit dem Parameter 'ForwardAgent' einrichten, nur den Schlüssel entsperren, und dann ist kein Kennwort erforderlich, um eine Verbindung herzustellen. Auf diese Weise können sich Bots, auch wenn sie versuchen, sich bei Ihrem SSH anzumelden, niemals anmelden, da Sie die Anmeldung mit dem Kennwort nicht zulassen.
Bonus, dies funktioniert auch mit scp, scp foo ubuntu: / tmp / foo verwendet das gleiche Setup ohne weitere Parameter. Bonus 2, dieses Setup erfordert keine Änderung zu Hause, wenn Sie und ein anderer Computer morgen einfach den Code in Ihre SSH-Konfiguration kopieren / einfügen, den Host und die IP ändern, das wars, es ist nicht nötig, einen neuen Port auf dem Router zu öffnen
quelle
Ich mache das - ich lasse das RPI hoch und stecke es die ganze Zeit direkt in den Router (da es das billigste ist, um es auszuführen) und ssh einfach hinein und hüpfe dann von dort zu den anderen - es braucht nie viel Aufmerksamkeit.
Es ist auch möglich, eine grafische Benutzeroberfläche über eine SSH-Pipe per VNC / RDP zu übertragen, ein bisschen Spaß zu haben oder einen Port weiterzuleiten, über den Sie zu einem Server auf Ihrem Desktop-Computer navigieren können, während dieser privat bleibt.
Der Grund, warum ich diese Antwort hinzugefügt habe, ist, dass wir Ihnen einige Vorschläge geben.
1) Verwenden Sie einen anderen Port als 22. Sie können den Port 22 auf dem PI belassen, aber den eingehenden Port Ihres Routers auf etwas über 10.000 ändern. Andernfalls werden Sie Dutzende bis Hunderte von Angriffen pro Tag erhalten - und dies einmal Es ist bekannt, dass Sie einen SSH-Host ausführen, sobald ein Exploit gefunden wird.
2) Verwenden Sie Zertifikate anstelle von Benutzername / Passwort - deaktivieren Sie die Anmeldung mit Benutzername / Passwort vollständig.
3) Wenn sich Ihre IP-Adresse ändern kann, verwenden Sie einen Dienst vom Typ dyndns, um sich ein DNS-Hosthame zu beschaffen das pi jetzt). Es gibt noch einige andere Unternehmen, die dies kostenlos anbieten.
4) Halten Sie Ihr pi (oder was auch immer Sie in ssh) auf dem neuesten Stand (sudo apt-get update). Ich glaube, dass ssh mittlerweile ziemlich gut geprüft ist, aber ich habe auch geglaubt, dass https ...
quelle
Hatte Zweifel, ob dies besser als Kommentar als als Antwort passen würde, aber ich werde es trotzdem hier posten.
Einige Dinge, über die Sie nachdenken sollten, bevor Sie dies tun:
quelle