[LINUX] SSH-Verbindung von Windows über SSL VPN

SSH-Verbindung von Windows über SSL VPN

Ich denke, dass die Anzahl der Personen, die aufgrund der Corona-Katastrophe remote arbeiten, gestiegen ist, aber ich denke, dass es auch Personen gibt, die einen Server im Intranet haben, ein VPN für den Zugriff von außen einrichten und sich dann mit ssh verbinden. In diesem Artikel werde ich ein Beispiel vorstellen, wie Sie Probleme beim Starten von Software wie FortiClient, beim Herstellen einer Verbindung mit SSLVPN und beim Herstellen einer Verbindung mit SSH so weit wie möglich lösen können. Ich denke, Leute, die die Maus nicht benutzen wollen, werden nach Dokkan Dokkan kommen.

Umgebung

--Client: Windows10

SSL-VPN-Verbindung

Ich denke, das ist der schwierigste Punkt. Es ist erforderlich, FortiClient VPN zu starten, das Kennwort auf der gestarteten Benutzeroberfläche einzugeben und eine Verbindung herzustellen. In einigen Fällen kann das Tippen auf das https-Protokoll aus dem Web eine Seite bereitstellen, die eine VPN-Verbindung ermöglicht, aber der Aufwand ändert sich nicht wesentlich. Wenn Sie eine Verbindung zu SSH herstellen, müssen Sie mit dem schwarzen Bildschirm interagieren. Daher ist es die Menschheit, die Sie über den Befehl ein VPN einrichten möchten.

Fortinet veröffentlicht die App FortiClient in einem Windows-App-Store namens Microsoft Store. Die Überprüfung ist schrecklich, bietet jedoch im Gegensatz zur FortiClient VPN-App die Funktion eines VPN-Anbieters für das Windows-System. Daher ist es keine Möglichkeit, über den Bildschirm, auf dem sie gestartet wurde, eine Verbindung zu einem VPN auf der GUI herzustellen. Daher stellen Sie über die standardmäßige Windows-VPN-Verbindungsfunktion eine Verbindung zum VPN her.

Verbindungsmethode

Installieren Sie App. Gehen Sie zu "Einstellungen> Netzwerk und Internet> VPN" oder suchen Sie von Anfang an nach "VPN", öffnen Sie den Bildschirm "VPN-Einstellungen", gehen Sie zu "VPN-Verbindung hinzufügen" und gehen Sie oben zu "VPN-Anbieter". Wählen Sie "FortiClient" (falls es nicht angezeigt wird, haben Sie es nicht installiert). Geben Sie danach den entsprechenden Verbindungsnamen (myvpn im Bild unten) und die Informationen des Verbindungsziels (sslvpn.myvpn.com im Bild unten) ein und speichern Sie diese. Der Benutzer und das Kennwort werden beim ersten Herstellen einer Verbindung abgefragt, sodass Sie das Feld leer lassen können (oder es nicht eingeben können). image.png

Wenn Sie nun eine Verbindung aus dem hinzugefügten Verbindungsnamen auswählen, wird die Benutzerauthentifizierung durchgeführt und die Verbindung hergestellt. Über das netzwerkähnliche Symbol (wo Sie es verwenden, wenn Sie eine Verbindung zu WLAN herstellen) auf der rechten Seite der Taskleiste können Sie den Verbindungsstatus von VPN usw. überprüfen. Wenn Sie darauf klicken, wird der gleiche Einstellungsbildschirm geöffnet und Sie können eine Verbindung herstellen / trennen.

Aufruf vom Befehl

Natürlich läuft hinter Windows eine Software, wenn diese VPN-Verbindung hergestellt wird. Daher denke ich darüber nach, sie mit einem Befehl aufzurufen. Das Klicken mit der Maus ist mühsam.

Insbesondere ist es wie folgt.

rasdial [Verbindungsname] [Nutzername] [Passwort]

Wenn Sie eine Verbindung hergestellt haben, indem Sie in den Einstellungen "Anmeldeinformationen speichern" aktiviert haben, können Sie den Benutzernamen und das Kennwort weglassen.

rasdial [Verbindungsname]

Sie können die Verbindung mit starten. Ich habe Angst, das Passwort normal einzugeben, daher denke ich, dass dies besser ist. Zum Schneiden

rasdial /disconnect

Wird genutzt.

Dies ist die Geschichte, wenn Sie über eine Eingabeaufforderung oder Power Shell ausgeführt werden. Dies ist möglich, weil in% SYSTEMROOT% \ System32 \ "rasdial.exe" vorhanden ist und die Umgebungsvariable PATH normalerweise übergeben wird. Wenn Sie WSL2 verwenden, können Sie dies nicht mit dem Befehl rasdial tun. Da WSL2 jedoch exe-Dateien mit Metamorphose ausführen kann,

rasdial.exe [Verbindungsname]

Sie können sich mit verbinden. Da PATH von Anfang an hinzugefügt wurde, denke ich, dass es eine ziemliche Metamorphose ist.

Dies löste das problematische VPN-Verbindungsproblem bis zu einem gewissen Grad.

SSH-Verbindung

Windows 10 enthält standardmäßig einen OpenSSH-Client und ist dies häufig

%SYSTEMROOT%\System32\OpenSSH\ssh [Nutzername]@[Zugangspunkt]

Ich denke, Sie können mit verbinden. ssh-keygen etc. funktionieren auch einwandfrei.

Wie bereits erwähnt, verfügt Windows 10 jedoch über WSL2 (Windwos Subsystems for Linux 2) (die neueste Version sollte es vorerst haben). Wenn der Server Linux ist, ist es besser, WSL2 zu verwenden. Es gibt weniger Verwirrung, und ich denke, das ist besser. Verschiedene Leute haben die Einführung von Linux durch WSL2 erklärt, also schauen Sie bitte dort nach.

Die Geschichte ist also einfach, zum Beispiel wenn Sie eine Ubuntu-Distribution mit WSL2 verwenden

"Windows-Taste" (Start öffnet sich) → Geben Sie "ubuntu" ein. ・ Beginnen Sie mit der Eingabe → Verbinden Sie sich mit ssh [Benutzername] @ [Ziel]

Ich denke, dass das Verfahren das kürzeste in der Geschichte ist. Sie können es auch starten, indem Sie "ubuntu" unter "Ausführen durch Angabe eines Dateinamens" von "Windows-Taste + R" eingeben, ohne von Anfang an zu suchen. Ich denke, beide sind in Ordnung, aber es kann vorkommen, dass dies zweckmäßig ist, da der Verlauf erhalten bleibt, wenn Sie "Durch Angabe des Dateinamens ausführen" auswählen.

Erstellen Sie eine Funktion

Die Geschichte endet hier nicht. Wenn Sie immer eine VPN-Verbindung zum selben Ziel und eine SSH-Verbindung zum selben Ziel herstellen, möchten etwa 99,9% der Menschen auf der Welt eine Funktion erstellen (laut meiner Forschung).

Wenn Sie für ssh nur eine Verbindung zu demselben Ziel herstellen, verwenden Sie zunächst einen Alias

alias myssh="ssh [Nutzername]@[Zugangspunkt]"
# example
alias myssh="ssh [email protected]"

Danach können Sie sich mit dem Befehl myssh verbinden. Wenn Sie Ihr Passwort nicht eingeben möchten, wechseln Sie zur Authentifizierungsmethode mit öffentlichem Schlüssel und leeren Sie Ihre Passphrase. Ich mache.

Wenn mehrere Verbindungsziele vorhanden sind, wird dies als Argument verwendet und von der Funktion ausgeführt.

function myssh () {
  command ssh [email protected].$1
}

Oder wenn es sich um eine Authentifizierung mit öffentlichem Schlüssel handelt

function myssh () {
  command ssh -i ~/.ssh/id_rsa [email protected].$1
}

Und so weiter. Möglicherweise ist kein Befehl erforderlich. Fügen Sie ihn jedoch hinzu, wenn ein Alias mit demselben Namen vorhanden ist. Mit der obigen Funktion versucht myssh 921, eine Verbindung zu 123.45.67.921 herzustellen.

Alias ist für die VPN-Verbindung ausreichend, aber ich möchte Verbindung und Trennung als Option in denselben Befehl einfügen, also mache ich es zu einer Funktion.

function myvpn () {
  if [ $# -eq 0 ]; then
    command rasdial.exe Verbindungsziel
  else
    command rasdial.exe /disconnect
  fi
}

Wenn Sie mit der obigen Funktion "myvpn" alleine ausführen, wird die Verbindung mit einem oder mehreren Argumenten wie "VPN-Verbindung" und "myvpn d" getrennt. Ich glaube nicht, dass es viele VPN-Verbindungsziele gibt, aber wenn ja, ist es meiner Meinung nach besser, Optionen zu verwenden und das Verbindungsziel als Argument zu erhalten. Wenn es problematisch ist, wird es meiner Meinung nach einfach sein, wenn Sie verschiedene Aliase zum Verbinden und Trennen verwenden.

Die obigen Funktionen sollten zu ~ / .bashrc hinzugefügt werden. Melden Sie sich nach dem Vornehmen von Änderungen ab oder führen Sie sie mit . ~ / .Bashrc oder source ~ / .bashrc aus.

Mit dem oben genannten lautet der Ablauf "WSL2 starten (diesmal Ubuntu) -> VPN-Verbindung durch Ausführen von" myvpn "-> SSH-Verbindung durch" myssh "". In einigen Fällen kann es einfacher sein, eine SSH-Verbindung herzustellen, wenn die VPN-Verbindung erfolgreich ist.

Schließlich

Ich habe die recherchierten Inhalte mit der Absicht zusammengefasst, die problematische VPN-Verbindung zu vereinfachen. Ich bin neu in Linux. Was ist also mit den schmutzigen Funktionen und der Sicherheit? Es kann so etwas geben. Ich glaube nicht, dass Passwörter im Klartext gespeichert werden, aber ich hoffe, dass sich jede Person der Sicherheit bewusst ist.

Bitte nutzen Sie die Zeit, um sich mit Ihrer Arbeit zu verbinden.

Recommended Posts

SSH-Verbindung von Windows über SSL VPN
[Hinweis] SSH-Verbindung vom Terminal mit AWS LightSail
[Postgresql] SSH-Verbindung zum externen DB-Server vom Client
Stellen Sie eine SonicWall SSL VPN-Verbindung mit der Linux-CLI her
Stellen Sie mit ssh-Verbindung vom Mac aus eine Verbindung zu centos6 auf der Virtualbox her