Verbindung zum Server (er hat keine externe IP) über SSH herstellen

Verbindung zum Server (er hat keine externe IP) über SSH herstellen

Ich habe einen kleinen PC als Ubuntu-Server eingerichtet und den SSH-Server so konfiguriert, dass ich mich über SSH damit verbinden kann. Das Problem beginnt hier, denn mein ISP hat mir keine externe IP-Adresse zugewiesen (alle Geräte haben eine externe IP-Adresse) und ich kann sie nicht ändern. Auf der Grundlage meiner Recherchen habe ich also eine kostenlose AWS-Instanz erstellt und dort OpenVPN eingerichtet.

Ich arbeite also so damit:

  1. PC1
  2. AWS-Instanz mit externer IP, die den OpenVPN-Server hostet
  3. PC2

PC1 und PC2 sind mit dem OpenVPN-Server auf AWS verbunden und dann kann ich mich über SSH mit PC2 mit PC1 verbinden.
Welche Möglichkeiten habe ich (falls überhaupt), mich über SSH mit PC1 mit PC2 zu verbinden, ohne dass PC2 mit OpenVPN verbunden sein muss, oder gibt es vielleicht eine Option, mich nur für die SSH-Verbindung mit OpenVPN zu verbinden und für den restlichen Datenverkehr OpenVPN nicht zu verwenden?

Antwort1

Ich weiß nichts über OpenVPN. Ich verwende einen SSH-Tunnel. Die Grundlagen sind ziemlich einfach, aber eine vollständige Einrichtung kann etwas schwierig sein. Davon abgesehen können Sie eine beliebige Anzahl von Computern tunneln lassen (was schnell ist, solange Sie nicht versuchen, alle Tunnel gleichzeitig zu verwenden).

ssh -fNR 2222:localhost:22 aws-computer

aws-computerIn meiner Datei befindet sich ein Name , ~/.ssh/configder den zu verwendenden Schlüssel und den Benutzernamen/das Passwort definiert.

Wenn ich jetzt SSH auf meinem Computer verwende, aws-computerkann ich Folgendes verwenden:

ssh -p 2222 pc1

und es stellt eine Verbindung her, als hätte ich eine einzelne/normale SSH-Verbindung.

Sie können das Tunneln beliebig oft wiederholen, was bedeutet, dass Sie am Ende einmal ssh pc2von PC1 und einmal ssh pc1von PC2 aus durchführen können. Damit alles funktioniert, müssen Sie nur ein wenig einrichten.

Host aws-computer
  HostName <ip-address-or-domain-name>
  User name
  Port 22
  PasswordAuthentication no
  HostbasedAuthentication no
  IdentitiesOnly yes
  IdentityFile /home/name/.ssh/tunnel_keys/tunnel_rsa

Hinweis: Ich verwende ein Unterverzeichnis für zusätzliche Schlüssel (Schlüssel, die nicht meine üblichen sind), soIch kann beliebig viele davon haben.

Die Hauptbeschränkung besteht darin, dass Sie unterschiedliche Ports verwenden müssen (d. h. Sie können nicht zwei Dienste auf einem Computer über einen Port betreiben). Die andere Einschränkung besteht darin, dass einer der Computer eine statische IP-Adresse haben muss oder Sie einen Domain Name Server verfügbar machen müssen, der die IPs aufzeichnet. Ein solcher DNS ist nicht sehr sicher, da jemand anderes „Ihre“ alte IP-Adresse erhalten könnte und Ihre Systeme versuchen könnten, eine Verbindung über einen Computer eines Drittanbieters herzustellen.

verwandte Informationen