Dans ce didacticiel, nous allons déployer un hôte Linux compatible RDP servant de bureau à distance dans un environnement à accès limité (pas de connectivité Internet). Une exigence supplémentaire est que plusieurs utilisateurs peuvent partager les mêmes informations d'identification avec cet hôte.
À cette fin, nous utiliserons deux instances en miroir de serveurs Ubuntu Cloud, l'une en ligne et l'autre hors ligne, afin que les packages appropriés puissent être déployés sur le serveur hors ligne. De plus, le bureau Xfce4 a été choisi en raison de sa capacité à ouvrir plusieurs sessions pour un seul utilisateur. Au moment où le didacticiel a été écrit, Gnome ne comptait pas sur cette fonctionnalité.
Installation hors ligne
Pour permettre l'installation dans un système hors ligne, nous allons déployer un système identique dans une VirtualBox en ligne, en utilisant la séquence de commandes suivante pour chaque package :
Sur le système en ligne :
sudo apt-get install --download-only
Copiez les packages de /var/cache/apt/archives en ligne vers le PC (en utilisant soit un client sftp ou un dossier partagé VirtualBox) et du PC vers le système hors ligne. Ensuite, sur les deux systèmes :
dpkg -i /var/cache/apt/archives/*.deb
Enfin, nettoyez les archives apt :
apt-get clean
Télécharger l'image du nuage Ubuntu
Utilisez ce lien. Pour OpenStack, nous utiliserons l'extension img, équivalente à qcow2. Pour VirtualBox, nous avons besoin de l'ova, qui contient déjà un fichier disque vmdk.
Créer les deux machines virtuelles
Dans OpenStack :
Télécharger l'image à coup d'œil :
glance image-create --name "Ubuntu Cloud image" --file ubuntu-18.04-server-cloudimg-amd64.img --is-public False --container-format bare --disk-format qcow2
Créez un modèle à chaud, voici un exemple avec une IP fixe et un espace disque supplémentaire :
heat_template_version :2018-04-30
description :déploiement de bureau à distance
ressources :
port_vm :
type :système d'exploitation ::Neutron::Port
propriétés :
réseau :
fixed_ips :
- sous-réseau :
adresse_ip :
serveur :
type :OS::Nova::Server
propriétés :
nom :
flavor :
zone_disponibilité :
réseaux :
- port :{ get_resource :port_vm }
nouveau_volume :
type :OS ::Cinder::Volume
propriétés :
taille :
volume_attachment :
type :OS::Cinder::VolumeAttachment
propriétés :
volume_id :{ get_resource :nouveau_volume }
instance_uuid :{ get_resource :serveur }
Créez la pile, l'instance est automatiquement lancée :
heat stack-create -f-e
Connectez-vous à la console, assurez-vous que la machine virtuelle a démarré avec succès. Redémarrez avec Ctrl-Alt Suppr et appuyez sur Maj gauche pour accéder au mode de récupération et modifier le mot de passe root.
Dans VirtualBox :
Importez le fichier ova en tant que nouvel appareil. Assurez-vous d'activer un port série, il peut rester déconnecté, il sert à contourner l'une des étapes lors de l'initialisation du cloud. Assurez-vous également de sélectionner l'adaptateur réseau ponté et de l'associer à l'interface réseau hôte qui a accès à Internet.
Démarrez avec la touche Maj gauche enfoncée et accédez au mode de récupération GRUB. Là, vous pouvez changer le mot de passe root pour celui que vous préférez. Démarrez et connectez-vous normalement cette fois.
Exécutez parted pour corriger les données de la partition :
Acceptez de corriger GPT, puis utilisez "resizepart" pour utiliser tout l'espace existant sur le disque :
Quittez parted et utilisez resize2fs pour ajuster le système de fichiers :
Maintenant df -h devrait afficher 10G disponible.
Vérifier la connectivité IP
Même si Openstack peut fournir la bonne adresse IP via DHCP, nous allons en configurer une statique dans les deux environnements. Créez un fichier avec l'extension yaml dans /etc/netplan, définissez l'adresse IP et la passerelle en conséquence :
Network:
Version:2
Rendu:NetworkD
Ethernets:
ENP0S3:
DHCP4:Non
Adresses:[192.168.1.100/24 }Appliquez la nouvelle configuration :
netplan appliquerLa connectivité devrait maintenant fonctionner de la VM à la passerelle et de votre PC aux deux VM.
Dès que la connectivité Internet est fournie dans VirtualBox VM, assurez-vous de mettre à jour apt :
apt-obtenir la mise à jourNotez que, si vous choisissez d'installer Gnome au lieu du bureau Xfce4, vous devrez remplacer networkd par NetworkManager dès que vous aurez terminé cette installation.
Configurer SSH
Nous allons activer l'accès root ssh. Modifiez le /etc/ssh/sshd_config par défaut :
- Activer les 3 HostKeys
- Définissez PermitRootLogin sur oui
- Désactiver l'authentification basée sur l'hôte
- Activer le mot de passe en texte clair (PasswordAuthentication oui, PermitEmptyPasswords non)
Vérifiez également /etc/ssh pour la présence de fichiers hostkey, dans VirtualBox, ils sont généralement manquants. Générez-en de nouveaux à l'aide de ssh-keygen :
ssh-keygen -f /etc/ssh/ssh_host_rsa_key -t rsa -N ""
ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key -t ecdsa -N ""
ssh-keygen -f /etc/ssh/ssh_host_ed25519_key -t ed25519 -N ""
Redémarrez le service :
redémarrage du service sshd
Vous devez maintenant pouvoir vous connecter en ssh à de nouvelles machines virtuelles. Si vous préférez, vous pouvez générer une paire de clés privée/publique pour remplacer le mot de passe en texte clair.
Installer Xfce4
Voici les étapes pour installer le bureau xfce4 dans Ubuntu.
Dans VirtualBox :
apt-get update
apt-get install --download-only xfce4 xfce4-terminal gnome-icon-theme-full tango-icon-theme
dpkg -i /var/cache/apt/ archives/*.deb
Copiez ensuite les packages deb de /var/cache/apt/archives vers Openstack VM. N'oubliez pas de nettoyer /var/cache/apt/archives.
Dans Openstack :
dpkg -i /var/cache/apt/archives/*.deb
apt-get clean
Ensuite, pour les deux VM, ajoutez le nouvel utilisateur ubuntu et ajoutez-le au groupe sudo :
adduser ubuntu
usermod -aG sudo ubuntu
Cliquez simplement sur ENTRÉE pour toutes les questions et c'est tout. Le répertoire personnel est automatiquement ajouté.
Installer XRDP
Modifiez l'utilisateur en ubuntu afin que XRDP effectue la configuration requise dans /home/ubuntu.
Dans VirtualBox :
sudo apt-get install --download-only xrdp
sudo dpkg -i /var/cache/apt/archives/*.deb
Copiez les packages deb de /var/cache/apt/archives vers Openstack VM. Nettoyer /var/cache/apt/archives.
Dans Openstack :
sudo dpkg -i /var/cache/apt/archives/*.deb
sudo apt-get clean
Configurez XRDP sur les deux :
Modifiez /etc/xrdp/sesman.ini et définissez Policy=UBDC. Cela permet plusieurs sessions avec le même nom d'utilisateur.
Modifiez /etc/xrdp/startwm.sh, en ajoutant startxfce4 à la fin :
#!/bin/sh
if [ -r /etc/default/locale ] ; alors
. /etc/default/locale
export LANG LANGUAGE
fi
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4
Redémarrez le service XRDP :
redémarrage xrdp du service sudo
Installer des navigateurs Web
Les navigateurs Web doivent être ajoutés à Xfce4. Recherchez Google Chrome deb sur Internet et installez-le à l'aide de dpkg.
Vous pouvez obtenir Firefox directement à partir des référentiels Ubuntu.
Dans VirtualBox :
sudo apt-get install --download-only firefox
sudo dpkg -i /var/cache/apt/archives/*.deb
Copiez les packages deb de /var/cache/apt/archives vers Openstack VM. Nettoyer /var/cache/apt/archives.
Dans Openstack :
sudo dpkg -i /var/cache/apt/archives/*.deb
sudo apt-get clean
Ajoutez des raccourcis pour chaque navigateur dans la barre des tâches et/ou sur le bureau.
Et c'est tout. Ouvrez plusieurs sessions RDP sur le serveur et vérifiez que tout fonctionne.
Santé !