Die Maschinen in unserem LAN können auf das externe Netzwerk zugreifen, aber das externe Netzwerk kann nicht auf das interne Netzwerk zugreifen. Da die Adresse des externen Netzwerks ermittelt werden kann, wenn das interne Netzwerk auf das Internet zugreift, kann das externe Netzwerk die spezifische Adresse innerhalb unseres lokalen Netzwerks nicht ermitteln. (IP-Adressen sind begrenzt) Wenn wir diese Verbindung beim Zugriff auf das externe Netzwerk offen halten, entspricht diese Verbindung dem Bau einer Straße, sodass interne Netzwerkdaten ausgehen und externe Netzwerkdaten eingehen können. SSH verwendet auch diese Methode. Verwenden Sie den Befehl ssh, um eine Verbindung zum öffentlichen Netzwerkserver herzustellen 1. Bearbeiten Sie zunächst die SSHD-Konfigurationsdatei auf dem externen Server vim /etc/ssh/sshd_config #Schalten Sie den GatewayPorts-Schalter ein GatewayPorts yes Starten Sie den SSHD-Dienst neu, damit die Änderungen wirksam werden (die Befehle können je nach Linux-Version unterschiedlich sein). systemctl startet sshd neu 2. Befehle ssh -NTf -R <lokaler Host>:<lokaler Port>:<Remote-Host>:<Remote-Port> Benutzer@Host local-host kann weggelassen werden. Beispiel: ssh -NTf -R 8888:127.0.0.1:8080 root@host 3. Parameterbeschreibung -C aktiviert die Komprimierung von Daten Halten Sie die SSH-Verbindung offen Wenn wir zum Herstellen einer Verbindung mit dem Server SSH verwenden, wird die Verbindung normalerweise geschlossen, wenn über einen längeren Zeitraum keine Aktion ausgeführt wird. Methode 1: Einrichten des Clients 1) Einstellungen auf Benutzerebene vim ~/.ssh/config (wenn keine Konfiguration vorhanden ist, erstellen Sie eine) 2) Globale Einstellungen /etc/ssh/ssh_config Wählen Sie einfach einen davon aus und fügen Sie die folgenden Parameter hinzu #Sende alle 60 Sekunden ein leeres Paket an den Server ServerAliveInterval 60 #Wenn mehr als zwei erfolglose Versuche unternommen werden, trennen Sie ServerAliveCountMax 2 #Beenden nach fehlgeschlagener Weiterleitung, um die Wiederherstellung der Verbindung zu ermöglichen ExitOnForwardFailure yes Temporäres Schreibverfahren (empfohlen, hat keine Auswirkungen auf andere) ssh -o ServerAliveInterval=30 root@host ssh -NTf -R 8888:127.0.0.1:8080 root@host -o ServerAliveInterval=30 -o ServerAliveCountMax=2 Methode 2: Einrichten des Servers vim /etc/ssh/sshd_config #Alle 30 Sekunden sendet der Server einen Heartbeat an den Client ClientAliveInterval 30 #Nach 3 Heartbeats ohne Antwort gilt der Client als getrennt ClientAliveCountMax 3 Methode 3: Verwenden eines Shell-Skripts berühren Sie myAutoSSH.sh Da ich die SSH-Verbindung auf RSA-Passwort-freie Authentifizierung eingestellt habe, erfordert die Logik hier kein Passwort SSH-Anmeldemethode ohne Passwort während(1) Tun ssh -NTR <lokaler Host>:<lokaler Port>:<Remote-Host>:<Remote-Port> Benutzer@Host Erledigt Um sicherzustellen, dass Sie nach dem Trennen sofort eine Verbindung herstellen können, entfernen Sie den Parameter -f, da es sonst zu einer Endlosschleife kommt. Methode 4: Autossh verwenden Sie müssen die Autossh-Software herunterladen. Der Vorgang ist fast der gleiche wie bei direkter Verwendung von SSH -M ist der Überwachungsport, der überwacht, ob eine Antwort auf den Befehl erfolgt, und uns hilft, die Verbindung aufrechtzuerhalten autossh -M 5678 -NTR <lokaler Host>:<lokaler Port>:<Remote-Host>:<Remote-Port> Benutzer@Host Ich lade nicht gern Software herunter. Es ist viel chaotische Software installiert. Ich ändere die Konfiguration auch nicht gern. Ich habe Angst, dass die Änderung die Nutzung durch andere beeinträchtigt. Deshalb verwende ich gern die temporäre Client-Konfigurationsmethode. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Detaillierte Analyse des Diff-Algorithmus in React
>>: Anleitung zum Zurücksetzen des MySQL/MariaDB-Root-Passworts
Sortierproblem Ich habe kürzlich auf Geek Time „4...
Ich verwende Redis seit Kurzem und finde es recht...
MySQL UNION-Operator Dieses Tutorial stellt die S...
1. Umweltvorbereitung 1.1 Grundlegende Umgebung N...
Installieren Sie die Zip-Dekomprimierungsfunktion...
Mausereignis Wenn die Maus eine bestimmte Operati...
Frage: Wie erreiche ich mit Div+CSS und Positioni...
Anforderung: Bei der Anzeige von Daten in einer L...
Die Bedeutung der Schreibreihenfolge Reduzieren S...
Liste der HTTP-Rückgabecodes (unten finden Sie ei...
Hintergrund: Position: Sticky wird auch Sticky-Po...
Tipps zur Verwendung von Docker 1. Bereinigen Sie...
Die Zeit der virtuellen VM Ware-Maschine CentOS s...
1. Was ist Positionierung? Das Positionsattribut ...
In diesem Artikelbeispiel wird der spezifische Co...