For the complete documentation index, see llms.txt. This page is also available as Markdown.

Devolutions Gateway-Konfiguration unter Linux

Die Installation und Ausführung von Devolutions Gateway unter Linux ist schnell und einfach, sofern mehrere Voraussetzungen erfüllt sind. Für die Demonstration der Installation und Konfiguration wurde Ubuntu 22.04 LTS verwendet.

Devolutions Gateway installieren

  1. Navigieren Sie zur Seite Devolutions Gateway GitHub Release und laden Sie die .deb-Datei der neuesten Version herunter.

  2. Geben Sie Folgendes über die Befehlszeile ein: wget https://github.com/Devolutions/devolutions-gateway/releases/download/v2024.3.2/devolutions-gateway_2024.3.2.0_amd64.deb

  3. Installieren Sie das Paket mit dem dpkg-Dienstprogramm: sudo dpkg -i devolutions-gateway_2024.3.2.0_amd64.deb

    Die Konfigurations- und Binärpakete befinden sich an den folgenden Orten:

    • Konfiguration: /etc/devolutions-gateway

    • Binärdatei: /usr/bin/devolutions-gateway

Devolutions Gateway aktualisieren

Um Devolutions Gateway unter Linux zu aktualisieren, laden Sie das neueste Paket wie im vorherigen Abschnitt beschrieben herunter und führen Sie den Installationsbefehl aus. Das Paket wird über die bestehende Installation installiert und behält die Konfigurationen bei.

Das PowerShell-Gateway-Modul installieren

Es wird empfohlen, das PowerShell-Gateway-Modul zu verwenden, um die Devolutions Gateway-Instanz unter Linux zu konfigurieren und zu verwalten.

  1. Installieren Sie PowerShell mit diesem Befehl:

  2. Installieren Sie das Devolutions Gateway PowerShell-Modul:

Nach der Installation kann die Devolutions Gateway-Konfiguration gestartet, gestoppt, angezeigt oder geändert werden.

Zertifikate konfigurieren

Ein ordnungsgemäßes Vertrauen der Zertifikate zwischen den Systemen ist entscheidend, damit Devolutions Gateway funktioniert. Funktionen wie WebSockets, die in Web-Dashboard-Ansichten von RDP, SSH usw. verwendet werden, erfordern ein ordnungsgemäß vertrauenswürdiges Zertifikat. Ein Zertifikat einer offiziellen Zertifizierungsstelle wie Let's Encrypt wäre für die meisten Produktionssysteme ideal. Selbstsignierte Zertifikate, wie im untenstehenden Beispiel gezeigt, können generiert werden, erfordern jedoch eine zusätzliche Konfiguration für das Vertrauen. Sie können Zertifikate auf jedem System generieren und in Devolutions Gateway verwenden, sofern sie den Zertifikatsanforderungen entsprechen.

Ein LetsEncrypt-Zertifikat unter Ubuntu 22.04 LTS mit Certbot generieren

Eine Option ist die Generierung eines LetsEncrypt-Zertifikats mit dem Certbot-Dienstprogramm. Um die neueste Version zu installieren, können Sie den Snap-Paketmanager verwenden. Je nach Ubuntu-Distribution enthalten die standardmäßigen APT-Repositories möglicherweise nicht die neueste Version der Software. In diesem Beispiel wird die Domänenüberprüfung mit Cloudflare als DNS-Anbieter verwendet.

  1. Das untenstehende Beispiel zeigt Certbot, das als Root-Benutzer installiert und ausgeführt wird, während Devolutions Gateway als anderer Benutzer läuft.

  2. Wenn Sie Cloudflare verwenden, generieren Sie entweder ein benutzer- oder kontobezogenes API-Token mit der Vorlage Edit zone DNS. Sobald Sie das API-Token haben, erstellen Sie den enthaltenden Ordner und die entsprechende .ini-Datei, die das API-Token enthält.

  3. Fordern Sie ein Zertifikat für Ihre Devolutions Gateway-Domäne mithilfe des Cloudflare-DNS-Plugins an. Ersetzen Sie den Wert gateway.mydomain.com unten durch Ihre eigene Domäne.

  4. Ändern Sie Ihre gateway.json-Konfigurationsdatei, um die folgenden Zeilen hinzuzufügen und das neu generierte Zertifikat zu verwenden, indem Sie das Devolutions Gateway PowerShell-Modul nutzen. Die untenstehenden Befehle ändern die Konfigurationsvariablen TlsCertificateFile, TlsPrivateKeyFile und Listeners.

  5. Bevor Sie Devolutions Gateway neu starten können, um das neue Zertifikat zu verwenden, müssen Sie dem Benutzer, der Devolutions Gateway ausführt, erlauben, die Zertifikatsdateien zu lesen. Dies setzt voraus, dass Ihr Benutzer devolutions heißt und das Zertifikat gateway heißt. Sie erteilen Traversierungsrechte für die Verzeichnisse und Leserechte für die Zertifikatsdateien selbst.

  6. Starten Sie Devolutions Gateway entweder mit dem Befehl systemctl oder mit dem Devolutions Gateway PowerShell-Modul neu.

LetsEncrypt-Zertifikat erneuern

Standardmäßig wird bei der Snap-Installationsmethode ein systemd-Timer (anstelle eines Cron-Jobs) verwendet, der zweimal täglich ausgeführt wird (ein Zertifikat wird jedoch nur innerhalb von 30 Tagen vor seinem Ablauf erneuert). Um eine Erneuerung zu erzwingen, können Sie den untenstehenden Befehl verwenden.

Ein selbstsigniertes Zertifikat unter Ubuntu 22.04 LTS mit OpenSSL generieren

Mit dem OpenSSL-Dienstprogramm können Sie ein Zertifikat direkt über die Befehlszeile generieren. Das Zertifikat muss dann direkt in das Konfigurationsverzeichnis /etc/devolutions-gateway gelegt werden.

Die Zertifikatsanforderung sieht für jede Konfiguration anders aus.

Beachten Sie, dass das Zertifikat eine Subject Alternative Name (SAN)-Erweiterung mit entweder einem DNS-Namen oder einer IP-Adresse enthalten muss, und es sollte außerdem die Extended Key Usage (EKU)-Erweiterung mit dem Zweck Serverauthentifizierung (serverAuth) enthalten. Dies ist erforderlich, weil moderne Betriebssysteme und Browser, einschließlich Google Chrome und macOS, Zertifikate ablehnen, denen ein SAN oder die entsprechende EKU fehlt, selbst wenn der Common Name (CN) gesetzt ist. Es ist möglich, diese Anforderung zu lockern, indem die Option TlsVerifyStrict bei Bedarf auf false gesetzt wird, dies wird jedoch nicht empfohlen.

Anpassungsoptionen

Erklärung

req

Erstellt und verarbeitet Zertifikatsanforderungen, einschließlich selbstsignierter Zertifikate, im PKCS#10-Format.

-x509

Gibt ein selbstsigniertes Zertifikat aus.

-subj

Definiert den Zertifikatsbetreff über die Befehlszeile. Zwischen den Abschnitten dürfen keine Leerzeichen stehen

  • /C - Land als 2-stelliger Code, z. B. „CA“ für Kanada oder „US“ für die Vereinigten Staaten.

  • /ST - Bundesstaat oder Provinz, z. B. Quebec oder Kalifornien.

  • /L - Ort, z. B. Lavaltrie oder Sacramento.

  • /O - Organisation, z. B. Devolutions oder Microsoft.

  • /CN - Common Name, hier ubuntu-2204 (wie über den Befehl hostname angezeigt).

-addext

Um einen Subject Alternate Name (SAN) hinzuzufügen, können Sie mit diesem Parameter entweder einen IP- oder DNS-Eintrag definieren.

  • "subjectAltName = IP:10.10.0.20"

  • "subjectAltName = DNS:ubuntu-2204"

-nodes

Verschlüsselt den erstellten privaten Schlüssel nicht.

-days

Die Anzahl der Tage, für die das Zertifikat gültig ist.

-newkey

Definiert den Algorithmus und die Bitgröße, hier wird rsa:2048 verwendet.

-keyout

Der Ort, an dem die private Schlüsseldatei erstellt wird.

-out

Der Ort, an dem die öffentliche Schlüsseldatei erstellt wird.

Dem selbstsignierten Zertifikat unter Ubuntu vertrauen

Das TLS-Zertifikat hat zwei Zwecke:

  1. Es sichert die Management-API;

  2. Es sichert jeden Client-zu-Gateway-Tunnel, in dem Gateway den Datenverkehr inspizieren oder filtern kann (Websites, Gateway Tunnel, SCP/SFTP usw.). Bei opaken Protokollen wie RDP oder SSH leitet Devolutions Gateway lediglich bereits verschlüsselte Bytes weiter, das Zertifikat ist jedoch weiterhin für Gateway-Health-Checks und zukünftige Funktionen erforderlich.

Sobald das selbstsignierte Zertifikat erstellt ist, muss dem Zertifikat innerhalb des Ubuntu-Systems vertraut werden. Um es systemweit als vertrauenswürdig einzustufen, verwenden Sie die folgenden Befehle:

Die ca-certificates sind möglicherweise bereits installiert. Durch Ausführen des Befehls update-ca-certificates wird in /etc/ssl/certs ein Symlink zur kopierten Zertifikatsdatei in /usr/local/share/ca-certificates erstellt.

Dem selbstsignierten Zertifikat unter Windows vertrauen

Nachdem das selbstsignierte Zertifikat erstellt wurde, muss ihm auf Devolutions Server vertraut werden. Die Dateien server.crt und server.key müssen auf das Windows-System übertragen werden; oder kopieren Sie den Inhalt und fügen Sie ihn in Dateien ein (d. h. sudo cat server.crt in Ubuntu und dies in eine Textdatei unter Windows kopieren).

1. Kopieren Sie den öffentlichen Schlüssel nach Windows (im Beispiel ist C:\Gateway ein temporärer Ort): sudo cat server.crt

  1. Kopieren Sie den Inhalt in eine server.crt-Datei.

  2. Kopieren Sie den privaten Schlüssel nach Windows: sudo cat server.key

  3. Kopieren Sie den Inhalt in eine server.key-Datei.

  4. Erstellen Sie eine PFX-Datei mit dem Windows-Befehlszeilentool certutil. Damit dies funktioniert, muss die Schlüsseldatei genauso benannt sein wie die crt-Datei und sich nur in der Erweiterung unterscheiden: certutil -mergepfx server.crt server.pfx

  5. Importieren Sie die PFX-Datei in den Zertifikatspeicher für vertrauenswürdige Stammzertifizierungsstellen.

    1. Doppelklicken Sie auf die Datei server.pfx, um den Importassistenten zu starten, und wählen Sie Lokaler Computer.

    2. Klicken Sie auf Weiter und akzeptieren Sie die Eingabeaufforderung.

    3. Klicken Sie auf Weiter.

    4. Geben Sie das Passwort ein, das Sie mit dem Befehl certutil eingegeben haben.

      • Optional: Wählen Sie Diesen Schlüssel als exportierbar markieren.

    5. Wählen Sie die Option Alle Zertifikate in folgendem Speicher speichern.

    6. Wählen Sie Vertrauenswürdige Stammzertifizierungsstellen mit der Schaltfläche Durchsuchen....

    7. Klicken Sie auf Weiter.

    8. Klicken Sie auf Fertig stellen, um den Import abzuschließen.

Ubuntu-Firewall-Ports öffnen

Wenn das Linux-System UFW (Uncomplicated Firewall) zur Verwaltung der iptable-basierten Firewall verwendet, führen Sie die folgenden Befehle aus, um die erforderlichen Ports zu öffnen:

Die Devolutions Gateway-Konfiguration ändern

Der Standardkonfiguration eines Gateways in der Datei /etc/devolutions-gateway/gateway.json müssen die Zertifikatsanweisungen hinzugefügt werden (die InternalUrl muss HTTPS verwenden):

Ändern Sie die obige Datei wie folgt, unter der Annahme, dass sich sowohl server.crt als auch server.key im selben Verzeichnis wie gateway.json befinden (die Verwendung des integrierten Datei-Editors Nano wird empfohlen):

Devolutions Gateway neu starten

Wenn die neue Konfiguration eingerichtet ist, starten Sie Devolutions Gateway neu. Dies kann mit dem Befehl systemctl erfolgen:

Alternativ können auch die PowerShell-Befehle Stop-DGateway und Start-DGateway verwendet werden.

Devolutions Gateway mit Devolutions Server verbinden

Den öffentlichen Schlüssel von Devolutions Server nach Devolutions Gateway Linux kopieren

  1. Melden Sie sich bei der Devolutions Server-Webkonsole an und navigieren Sie zu AdministrationDevolutions Gateway.

  2. Klicken Sie auf die Schaltfläche Mehr und wählen Sie die Option Öffentlichen Schlüssel herunterladen.

  3. Kopieren Sie den Inhalt der heruntergeladenen Datei gateway_public_key.pem unter Windows.

  4. Ersetzen Sie den Inhalt der Datei /etc/devolutions-gateway/provisioner.pem (das Nano-Dienstprogramm wird empfohlen) durch den von Windows kopierten Inhalt.

  5. Starten Sie Devolutions Gateway mit dem Befehl sudo systemctl restart devolutions-gateway.service neu.

Devolutions Gateway in Devolutions Server konfigurieren

Gehen Sie zur Weboberfläche von Devolutions Server, in der die neu konfigurierte Linux-Devolutions Gateway hinzugefügt wird.

  1. Melden Sie sich an der Devolutions Server-Webkonsole an und navigieren Sie zu AdministrationDevolutions Gateway.

  2. Klicken Sie auf die Schaltfläche Hinzufügen (+).

  3. Wählen Sie Gateway aus.

  1. Geben Sie Folgendes ein (dies ändert sich je nach Konfiguration).

    1. Name: Linux Gateway

    2. Devolutions Gateway URL: https://10.10.0.20:7171

    3. TCP Hostname: Ubuntu-2204

  2. Klicken Sie auf Speichern.

    Klicken Sie auf das Optionsmenü Mehr für das Gateway und wählen Sie die Option Sperrliste veröffentlichen, wenn die Sperrliste veraltet ist.

Hosts in Ubuntu auflösen

Das Linux-gehostete Devolutions Gateway-System muss die von Devolutions Server angeforderten Adressen auflösen können. Die einfachste Methode zum Testen ist, die hosts-Datei zu ändern.

Verbinden Sie sich mit dem folgenden System:

  • Hostname: it-help-dc

  • Fully-Qualified Domain Name (FQDN): it-help-dc.ad.it-help.ninja

  • IP-Adresse: 10.10.0.3

Öffnen Sie die hosts-Datei zur Bearbeitung mit sudo nano /etc/hosts, um den Host in Ubuntu hinzuzufügen.

Eine webbasierte RDP-Sitzung öffnen

Das Gateway kann sich nun mit Hosts verbinden. Da der Host it-help-dc als für Ubuntu auflösbar hinzugefügt wurde, kann er zum Verbinden in einer webbasierten Sitzung verwendet werden.

Webbasierte Sitzungen erfordern ein aktives, für den Eintrag konfiguriertes Gateway, und der startende Benutzer benötigt eine zugewiesene Remote Desktop Manager Team Edition-Lizenz oder eine Devolutions Launcher-Lizenz.

Wenn zudem Änderungen an den Lizenzzuweisungen vorgenommen wurden, kann ein Ab- und erneutes Anmelden erforderlich sein, um die Option zum Starten der webbasierten Verbindung zu sehen.

  1. Klicken Sie in der Devolutions Server-Weboberfläche auf Hinzufügen. Wählen Sie einen RDP-Sitzungseintrag aus.

  2. Klicken Sie auf Weiter.

  1. Geben Sie einen Namen und einen Host ein, der von der Linux-Installation von Devolutions Gateway auflösbar sein muss.

  2. Klicken Sie auf Hinzufügen.

  3. Geben Sie alle erforderlichen Anmeldeinformationen für die RDP-Sitzung ein oder verknüpfen Sie sie und klicken Sie auf Hinzufügen.

  4. Wählen Sie unter der Registerkarte VPN/Tunnel/Gateway Devolutions Gateway als VPN-Typ aus.

  5. Setzen Sie die Option Verbinden auf Immer verbinden.

  6. Wählen Sie das richtige Gateway aus.

  7. Klicken Sie auf Hinzufügen.

  8. Klicken Sie auf Im Webclient öffnen.

Eine Remote Desktop Manager-RDP-Sitzung öffnen

Wenn der Eintrag bereits in der Devolutions Server-Weboberfläche konfiguriert ist, kann er aus Remote Desktop Manager gestartet werden, wenn eine Verbindung zur Devolutions Server-Datenquelle besteht.

Beim Erstellen eines neuen Eintrags in Remote Desktop Manager ist der Vorgang ähnlich wie bei Devolutions Server.

  1. Klicken Sie in Remote Desktop Manager auf Neuer Eintrag. Wählen Sie einen RDP-Sitzungseintrag aus.

  2. Klicken Sie auf Auswählen.

  3. Geben Sie einen Namen und einen Host ein, der von der Linux-Installation von Devolutions Gateway auflösbar sein muss.

  4. Geben Sie alle erforderlichen Anmeldeinformationen für die RDP-Sitzung ein oder verknüpfen Sie sie.

  5. Setzen Sie die Option Verbinden auf Immer verbinden.

  6. Wählen Sie unter der Registerkarte VPN/Tunnel/Gateway Devolutions Gateway als VPN-Typ aus.

  7. Gehen Sie zur Unterregisterkarte Einstellungen (Devolutions Gateway).

  8. Wählen Sie das gewünschte Devolutions Gateway aus.

  9. Klicken Sie auf Hinzufügen.

  10. Klicken Sie auf die Schaltfläche Sitzung öffnen.

    Wenn Sie mit dem Mauszeiger über die Titelleiste fahren, erscheint ein Tooltip, der anzeigt, dass die RDP-Verbindung über Devolutions Gateway hergestellt wird.

Zuletzt aktualisiert

War das hilfreich?