L'installation et l'exécution de Devolutions Gateway sur Linux est rapide et facile, à condition de répondre à plusieurs prérequis. Ubuntu 22.04 LTS a été utilisé pour démontrer l'installation et la configuration.
Devolutions Server ou Devolutions Hub Business est nécessaire pour la configuration ainsi qu'une licence Devolutions Gateway.
-
Naviguer vers la page Devolutions Gateway GitHub Release et télécharger le fichier .deb de la dernière version.
-
Entrer ce qui suit en utilisant la ligne de commande :
wget https://github.com/Devolutions/devolutions-gateway/releases/download/v2024.3.2/devolutions-gateway_2024.3.2.0_amd64.deb
Command-line wget -
Installer le paquet en utilisant l'utilitaire
dpkg
:sudo dpkg -i devolutions-gateway_2024.3.2.0_amd64.deb
Command-line dpkg
Les configurations et les paquets binaires se trouvent aux emplacements suivants :
Configuration :
/etc/devolutions-gateway
Binaire :
/usr/bin/devolutions-gateway
Pour mettre à jour Devolutions Gateway sur Linux, télécharger le dernier paquet comme expliqué dans la section précédente et exécuter la commande d'installation. Le paquet s'installera sur l'installation existante et préservera les configurations.
Il est recommandé d'utiliser le module PowerShell de la passerelle pour configurer et gérer l'instance Devolutions Gateway sur Linux.
-
Installer PowerShell avec cette commande :
source /etc/os-release wget -q https://packages.microsoft.com/config/ubuntu/$VERSION_ID/packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb sudo apt-get update sudo apt-get install -y powershell
-
Installer le module Devolutions Gateway PowerShell :
Install-Module -Name DevolutionsGateway Import-Module -Name DevolutionsGateway
Une fois installé, la configuration de Devolutions Gateway peut être démarrée, arrêtée, visualisée ou modifiée.
La bonne confiance des certificats entre systèmes est essentielle pour faire fonctionner Devolutions Gateway. La fonctionnalité telle que websocket utilisée dans les vues de tableau de bord web de RDP, SSH, etc., nécessite un certificat correctement approuvé. Un certificat généré sur le système Linux et approuvé par les ordinateurs utilisés pour se connecter est nécessaire.
Utiliser l'utilitaire OpenSSL pour générer un certificat directement depuis la ligne de commande. Le certificat doit ensuite être placé directement dans le répertoire de configuration /etc/devolutions-gateway.

sudo openssl req -x509 -subj "/C=CA/ST=Quebec/L=Lavaltrie/O=Devolutions/CN=ubuntu-2204" -addext "subjectAltName = IP:10.10.0.20" -nodes -days 365 -newkey rsa:2048 -keyout /etc/devolutions-gateway/server.key -out /etc/devolutions-gateway/server.crt
La requête de certificat sera différente pour chaque configuration.
Options de personnalisation | Explication |
---|---|
| Créer et traiter les demandes de certificat y compris les certificats auto-signés au format PKCS#10. |
| Afficher un certificat auto-signé. |
| Définir le sujet du certificat sur la ligne de commande. Il ne doit y avoir aucun espace entre les sections.
|
| Ajouter un Subject Alternate Name (SAN), utiliser ce paramètre pour définir soit une entrée IP ou DNS.
|
| Ne pas chiffrer la clé privée créée. |
| Le nombre de jours pendant lesquels le certificat est valide. |
| Définir l'algorithme et la taille de bits, ici |
| L'emplacement pour créer le fichier de la clé privée. |
| L'emplacement pour créer le fichier de clé publique. |
Une fois le certificat auto-signé créé, le certificat dans le système Ubuntu devra être approuvé. Pour l'approuver à l'échelle du système, utiliser l'ensemble de commandes suivant :
cd /etc/devolutions-gateway
sudo apt-get install -y ca-certificates
sudo cp server.crt /usr/local/share/ca-certificates
sudo update-ca-certificate

Le ca-certificates
peut déjà être installé. En exécutant la commande update-ca-certificates
, un lien symbolique sera créé dans /etc/ssl/certs
vers le fichier de certificat copié dans /usr/local/share/ca-certificates.

Si cela est fait dans Firefox, plusieurs erreurs de confiance apparaîtront car le navigateur n'utilise pas le magasin de certificats à l'échelle du système. Leur documentation offre quelques solutions à cela.
Après la création du certificat auto-signé, il devra être approuvé sur Devolutions Server. Les fichiers server.crt et server.key devront être transférés sur le système Windows; ou copier-coller le contenu dans des fichiers (c'est-à-dire sudo cat server.crt dans Ubuntu et coller cela dans un fichier texte sur Windows).
-
Copier la clé publique vers Windows (dans l'exemple, C:\Gateway est un emplacement temporaire) :
sudo cat server.crt
Command-line sudo cat server -
Copier le contenu dans un fichier server.crt.
Server.crt file -
Copier la clé privée sur Windows :
sudo cat server.key
Copying the key to Windows -
Copier le contenu dans un fichier server.key.
Server.key file -
Créer un fichier PFX en utilisant l'outil de la ligne de commande certutil de Windows. Pour que cela fonctionne, le fichier clé doit avoir le même nom que le fichier crt, seule l'extension diffère :
certutil -mergepfx server.crt server.pfx
Create a PFX file -
Importer le fichier PFX dans le magasin des autorités de certification racine de confiance.
-
Double-cliquer sur le fichier server.pfx pour démarrer l'assistant d'importation et choisir Ordinateur local.
-
Cliquer sur Suivant et accepter l'invite.
Click Next -
Cliquer sur Suivant.
Click Next -
Entrer le mot de passe que vous avez saisi avec la commande
certutil
.En option : choisir de Marquer cette clé comme exportable.
Enter the password -
Choisir l'option Placer tous les certificats dans le magasin suivant.
-
Sélectionner Autorités de certification racines de confiance avec le bouton Parcourir....
-
Cliquer sur Suivant.
Click Next -
Cliquer sur Terminer pour compléter l'importation.
-
Si le système Linux utilise UFW (Uncomplicated Firewall) pour gérer le pare-feu basé sur iptable, exécuter les commandes suivantes pour ouvrir les ports nécessaires :
sudo ufw status
sudo ufw allow 7171
sudo ufw allow 8181
sudo ufw status

La configuration par défaut de Gateway contenue dans le fichier /etc/devolutions-gateway/gateway.json nécessite que les directives des certificats soient ajoutées (l'InternalUrl
devra utiliser HTTPS) :
{
"Id": "YOUR-UNIQUE-GUID",
"ProvisionerPublicKeyFile": "provisioner.pem",
"ProvisionerPrivateKeyFile": null,
"Listeners": [
{
"InternalUrl": "tcp://:8181",
"ExternalUrl": "tcp://:8181"
},
{
"InternalUrl": "http://:7171",
"ExternalUrl": "https://:7171"
}
]
}
Modifier le fichier ci-dessus pour refléter ce qui suit, en supposant que server.crt et server.key sont dans le même répertoire que gateway.json (l'utilisation de l'éditeur de fichiers intégré Nano est recommandée) :
{
"Id": "YOUR-UNIQUE-GUID",
"ProvisionerPublicKeyFile": "provisioner.pem",
"ProvisionerPrivateKeyFile": null,
"TlsCertificateFile": "server.crt",
"TlsPrivateKeyFile": "server.key",
"Listeners": [
{
"InternalUrl": "tcp://:8181",
"ExternalUrl": "tcp://:8181"
},
{
"InternalUrl": "https://:7171",
"ExternalUrl": "https://:7171"
}
]
}

Avec la nouvelle configuration en place redémarrer Devolutions Gateway. Cela peut être fait avec la commande systemctl
:
sudo systemctl restart devolutions-gateway.service
sudo systemctl status devolutions-gateway.service

Alternativement, les commandes PowerShell Stop-DGateway
et Start-DGateway
peuvent aussi être utilisées.
-
Se connecter à la console Web de Devolutions Server et naviguer vers Administration – Devolutions Gateway.
-
Cliquer sur le bouton Plus et choisir l'option Télécharger la clé publique.
Download public key -
Copier le contenu du fichier téléchargé gateway_public_key.pem sur Windows.
Copy the contents -
Remplacer le contenu du fichier /etc/devolutions-gateway/provisioner.pem (il est recommandé d'utiliser l'outil Nano) par le contenu copié depuis Windows.
Replace the contents -
Redémarrer Devolutions Gateway avec la commande
sudo systemctl restart devolutions-gateway.service
.Restart Devolutions Gateway
Aller à l'interface web de Devolutions Server où le Devolutions Gateway pour Linux nouvellement configuré sera ajouté.
-
Se connecter à la console Web de Devolutions Server et naviguer vers Administration – Devolutions Gateway.
-
Cliquer sur le bouton Ajouter (+).
-
Sélectionner Gateway.
Select Gateway -
Entrer les éléments suivants (cela changera en fonction de la configuration).
Nom : Linux Gateway
URL Devolutions Gateway :
https://10.10.0.20:7171
Nom d'hôte TCP :
Ubuntu-2204
-
Cliquer sur Enregistrer.
Click Save
Cliquer sur le menu Plus d'options pour la passerelle et choisir l'option Publier la liste de révocation si la liste de révocation n'est pas à jour.


Le système Devolutions Gateway hébergé sous Linux doit pouvoir résoudre les adresses demandées par Devolutions Server. La méthode la plus simple pour tester est de modifier le fichier hosts.
Connecter au système suivant :
Nom d'hôte :
it-help-dc
Nom de domaine complet (FQDN) :
it-help-dc.ad.it-help.ninja
Adresse IP :
10.10.0.3
Ouvrir le fichier hosts pour l'éditer sudo nano /etc/hosts
pour ajouter l'hôte dans Ubuntu.

Le passarelle peut maintenant se connecter aux hôtes. Comme l'hôte it-help-dc
a été ajouté comme résolvable à Ubuntu, il peut être utilisé pour se connecter dans une session basée sur le Web.
Les sessions basées sur le Web nécessitent un Devolutions Gateway actif configuré pour l'entrée et l'utilisateur lançant aura besoin d'une licence assignée pour l'édition équipe de Remote Desktop Manager ou une licence pour le Devolutions Launcher.
De plus, si des modifications ont été apportées aux affectations de licences, il peut être nécessaire de se déconnecter et de se reconnecter pour voir l'option de lancer la connexion basée sur le Web.
-
Dans l'interface web de Devolutions Server cliquer sur Ajouter. Sélectionner une entrée de session RDP.
-
Cliquer sur Continuer.
Click Continue -
Entrer un Nom et un Hôte qui doivent être résolvables par l'installation Devolutions Gateway sous Linux.
-
Cliquer sur Ajouter.
Click Add -
Entrer ou lier les informations d'identification nécessaires à la session RDP et cliquer sur Ajouter.
Enter or link credentials -
Sous l'onglet VPN/Tunnel/Gateway choisir Devolutions Gateway comme type de VPN.
-
Définir l'option Connecter sur Toujours connecter.
-
Choisir le bon point d'accès.
-
Cliquer sur Ajouter.
Choose the correct gateway -
Cliquer sur Ouvrir dans le client Web.
Open in web client
Si l'entrée est déjà configurée depuis l'interface web de Devolutions Server, elle peut être lancée depuis Remote Desktop Manager lorsque connecté à la source de données Devolutions Server.
Lors de la création d'une nouvelle entrée à partir de Remote Desktop Manager, le processus est similaire à celui de Devolutions Server.
-
Dans Remote Desktop Manager, cliquer sur Nouvelle entrée. Sélectionner une entrée de session RDP.
-
Cliquer sur Sélectionner.
Click on Select -
Entrer un Nom et un Hôte qui doivent être résolvables par l'installation Devolutions Gateway sous Linux.
-
Entrer ou lier tous les identifiants nécessaires à la session RDP.
Fill in the necessary fields -
Définir l'option Connecter sur Toujours connecter.
-
Sous l'onglet VPN/Tunnel/Gateway choisir Devolutions Gateway comme type de VPN.
Adjust the General settings -
Aller à l'onglet Paramètres (Devolutions Gateway).
-
Choisir le Devolutions Gateway souhaité.
-
Cliquer sur Ajouter.
Click Add -
Cliquer sur le bouton Ouvrir la session.
En survolant la barre de titre, un outil d'information apparaîtra et montrera que le RDP est connecté via Devolutions Gateway.

À partir de la version 2024.1.0 et suivantes, une nouvelle interface web pour Devolutions Gateway a été ajoutée. Modifier le gateway.json pour ajouter la section suivante sur WebApp en utilisant un utilitaire tel que sudo nano /etc/devolutions-gateway/gateway.json
.
Précédemment, le ProvisionerPrivateKeyFile
était défini comme null
. Lors de l'activation de l'application Web, le fichier doit être copié depuis Devolutions Server vers un fichier accessible à Devolutions Gateway. Comme indiqué dans la section précédente, effectuer la même procédure mais télécharger la clé privée à la place et la transférer sur le système Ubuntu.
{
"Id": "YOUR-UNIQUE-GUID",
"ProvisionerPublicKeyFile": "provisioner.pem",
"ProvisionerPrivateKeyFile": "provisioner.key",
"TlsCertificateFile": "server.crt",
"TlsPrivateKeyFile": "server.key",
"Listeners": [
{
"InternalUrl": "tcp://:8181",
"ExternalUrl": "tcp://:8181"
},
{
"InternalUrl": "https://:7171",
"ExternalUrl": "https://:7171"
}
],
"WebApp": {
"Enabled": true,
"Authentication": "None"
}
}
Une fois modifié, redémarrer le gateway :
sudo systemctl restart devolutions-gateway.service
