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
Teil 1: Grundlagen 1. Im Gegensatz zu Pseudoklass...
Der Sortierbefehl wird sehr häufig verwendet, ver...
Inhaltsverzeichnis 1. Installieren Sie den Vue-Vi...
In diesem Artikel wird die MySQL-Vorkompilierungs...
Die Player, die wir auf Webseiten sehen, sind nic...
Löschen Sie die zuvor installierte MariaDB 1. Ver...
Überprüfen Sie die Python-Version mit python -V. ...
Inhaltsverzeichnis Überblick Canvas API: Grafiken...
In diesem Artikelbeispiel wird der spezifische JS...
Inhaltsverzeichnis Ist setState synchron oder asy...
Vorwort Der Befehl apt-get ist ein Paketverwaltun...
Im vorherigen Artikel haben wir nach der Konfigur...
Inhaltsverzeichnis Warum setState verwenden? Verw...
Was ist sie? „em“ bezieht sich auf die Schrifthöhe...
1. Laden Sie die beschleunigte Version von msyql ...