One place for hosting & domains

      distant

      Comment utiliser SSH pour se connecter à un serveur distant


      Introduction

      L’un des outils essentiels à maîtriser en tant qu’administrateur système est le SSH.

      SSH, ou Secure Shell, est un protocole utilisé pour se connecter en toute sécurité à des systèmes distants. C’est le moyen le plus courant d’accéder à des serveurs Linux distants.

      Dans ce guide, nous verrons comment utiliser SSH pour se connecter à un système distant.

      Syntaxe de base

      Pour se connecter à un système distant utilisant SSH, nous utiliserons la commande ssh.  La forme la plus élémentaire de la commande est :

      Le remote_host dans cet exemple est l'adresse IP ou le nom de domaine auquel vous essayez de vous connecter.

      Cette commande suppose que votre nom d'utilisateur sur le système distant est le même que votre nom d'utilisateur sur votre système local.

      Si votre nom d'utilisateur est différent sur le système distant, vous pouvez le spécifier en utilisant cette syntaxe :

      • ssh remote_username@remote_host

      Une fois que vous vous êtes connecté au serveur, il peut vous être demandé de vérifier votre identité en fournissant un mot de passe. Plus tard, nous verrons comment générer des clés à utiliser à la place des mots de passe.

      Pour quitter la session ssh et revenir dans votre session shell locale, tapez :

      SSH fonctionne en connectant un programme client à un serveur ssh, appelé sshd.

      Dans la section précédente, ssh était le programme client. Le serveur ssh fonctionne déjà sur le remote_host que nous avons spécifié.

      Sur votre serveur, le sshd devrait déjà fonctionner. Si ce n'est pas le cas, vous devrez peut-être accéder à votre serveur via une console Web ou une console série locale.

      Le processus nécessaire pour démarrer un serveur ssh dépend de la distribution de Linux que vous utilisez.

      Sur Ubuntu, vous pouvez démarrer le serveur ssh en tapant :

      Cela devrait démarrer le serveur sshd et vous pourrez alors vous connecter à distance.

      Lorsque vous modifiez la configuration de SSH, vous modifiez les paramètres du serveur sshd.

      Dans Ubuntu, le fichier de configuration principal de sshd se trouve à /etc/ssh/sshd_config.

      Sauvegardez la version actuelle de ce fichier avant de l'éditer :

      • sudo cp /etc/ssh/sshd_config{,.bak}

      Ouvrez-le avec un éditeur de texte :

      • sudo nano /etc/ssh/sshd_config

      Il est préférable de laisser de côté la plupart des options de ce dossier. Cependant, il y en a quelques-uns que vous voudrez peut-être examiner :

      /etc/ssh/sshd_config

      Port 22
      

      La déclaration de port précise sur quel port le serveur sshd écoutera les connexions. Par défaut, il s'agit de 22. Vous devriez probablement ne pas toucher à ce paramètre, à moins que vous n'ayez des raisons spécifiques de faire autrement. Si vous **changez de port, nous vous montrerons comment vous connecter au nouveau port par la suite.

      /etc/ssh/sshd_config

      HostKey /etc/ssh/ssh_host_rsa_key
      HostKey /etc/ssh/ssh_host_dsa_key
      HostKey /etc/ssh/ssh_host_ecdsa_key
      

      Les déclarations de clés d'hôtes précisent où chercher les clés d'hôtes globales. Nous discuterons plus tard de ce qu'est une clé d'hôte.

      /etc/ssh/sshd_config

      SyslogFacility AUTH
      LogLevel INFO
      

      Ces deux éléments indiquent le niveau connexion qui devrait avoir lieu.

      Si vous avez des difficultés avec SSH, augmenter le nombre de connexions peut être un bon moyen de découvrir quel est le problème.

      /etc/ssh/sshd_config

      LoginGraceTime 120
      PermitRootLogin yes
      StrictModes yes
      

      Ces paramètres précisent certaines des informations de connexion.

      LoginGraceTime précise combien de secondes pour maintenir la connexion active sans se connecter avec succès.

      Il peut être judicieux de fixer ce temps juste un peu plus élevé que le temps qu'il vous faut pour vous connecter normalement.

      PermitRootLogin sélectionne si le root user est autorisé à se connecter.

      Dans la plupart des cas, il faut passer à no lorsque vous avez créé un compte d'utilisateur qui a accès à des privilèges élevés (via su ou sudo) et peut se connecter via ssh.

      strictModes est un garde de sécurité qui refusera une tentative de connexion si les fichiers d'authentification sont lisibles par tous.

      Cela permet d'éviter les tentatives de connexion lorsque les fichiers de configuration ne sont pas sécurisés.

      /etc/ssh/sshd_config

      X11Forwarding yes
      X11DisplayOffset 10
      

      Ces paramètres configurent une capacité appelée X11 Forwarding. Cela vous permet de visualiser l'environnement graphique (GUI) d'un système distant sur le système local.

      Cette option doit être activée sur le serveur et donnée avec le client SSH lors de la connexion avec l'option -X.

      Après avoir effectué vos modifications, enregistrez et fermez le fichier en tapant CTRL+X et Y, puis ENTER.

      Si vous avez modifié des paramètres dans /etc/ssh/sshd_config, veillez à recharger votre serveur sshd afin de mettre en œuvre vos modifications :

      • sudo systemctl reload ssh

      Vous devez tester vos changements de manière approfondie pour vous assurer qu'ils fonctionnent comme prévu.

      Il peut être judicieux d'avoir quelques séances actives lorsque vous effectuez des changements. Cela vous permettra de revenir sur la configuration si nécessaire.

      S'il est utile de pouvoir se connecter à un système à distance à l'aide de mots de passe, il est bien plus judicieux de mettre en place une authentification par clé.

      L'authentification par clé fonctionne en créant une paire de clés : une clé privée et une clé publique.

      La clé privée se trouve sur la machine du client et est sécurisée et gardée secrète.

      La clé publique peut être donnée à n'importe qui ou placée sur n'importe quel serveur auquel vous souhaitez accéder.

      Lorsque vous tentez de vous connecter à l'aide d'une paire de clés, le serveur utilise la clé publique pour créer un message pour l'ordinateur client qui ne peut être lu qu'avec la clé privée.

      L'ordinateur client renvoie alors la réponse appropriée au serveur et celui-ci saura que le client est légitime.

      Tout ce processus se fait automatiquement après l'installation des clés.

      Les clés SSH doivent être générées sur l'ordinateur duquel vous souhaitez vous connecter**. Il s'agit généralement de votre machine locale.

      Entrez ce qui suit dans la ligne de commande :

      Appuyez sur la touche Entrée pour accepter les valeurs par défaut. Vos clés seront créées à l'adresse ~/.ssh/id_rsa.pub et ~/.ssh/id_rsa.

      Passez dans le répertoire .ssh en tapant :

      Regardez les autorisations des fichiers :

      Output

      -rw-r--r-- 1 demo demo 807 Sep 9 22:15 authorized_keys -rw------- 1 demo demo 1679 Sep 9 23:13 id_rsa -rw-r--r-- 1 demo demo 396 Sep 9 23:13 id_rsa.pub

      Comme vous pouvez le voir, le fichier id_rsa est lisible et accessible en écriture uniquement au propriétaire.  C'est pour cela qu'il doit être gardé secret.

      Le fichier id_rsa.pub, cependant, peut être partagé et dispose de permissions appropriées pour cette activité.

      Si vous avez actuellement un accès par mot de passe à un serveur, vous pouvez y copier votre clé publique en émettant cette commande :

      Cela permettra de démarrer une session SSH. Après que vous ayez entré votre mot de passe, il copiera votre clé publique dans le fichier des clés autorisées du serveur, ce qui vous permettra de vous connecter sans mot de passe la prochaine fois.

      Options côté client

      Il existe un certain nombre d'indicateurs optionnels que vous pouvez sélectionner lorsque vous vous connectez via SSH.

      Certains d'entre eux peuvent être nécessaires pour correspondre aux paramètres de la configuration sshd de l'hôte distant.

      Par exemple, si vous avez changé le numéro de port dans votre sshd, vous devrez faire correspondre ce port côté client en tapant :

      • ssh -p port_number remote_host

      Si vous ne souhaitez exécuter qu'une seule commande sur un système distant, vous pouvez la spécifier après l'hôte comme cela :

      • ssh remote_host command_to_run

      Vous vous connecterez à la machine distante, vous vous authentifierez, et la commande sera exécutée.

      Comme nous l'avons déjà dit, si la transmission X11 est activée sur les deux ordinateurs, vous pouvez accéder à cette fonctionnalité en tapant :

      Si vous disposez des outils appropriés sur votre ordinateur, les programmes de l'environnement graphique que vous utilisez sur le système distant ouvriront désormais leur fenêtre sur votre système local.

      Désactiver l'authentification par mot de passe

      Si vous avez créé des clés SSH, vous pouvez renforcer la sécurité de votre serveur en désactivant l'authentification uniquement par mot de passe. En dehors de la console, la seule façon de se connecter à votre serveur est d'utiliser la clé privée qui se couple avec la clé publique que vous avez installée sur le serveur.

      Avertissement : Avant de procéder à cette étape, assurez-vous que vous avez installé une clé publique pour votre serveur. Sinon, vous serez bloqué à l'extérieur !

      En tant que root ou utilisateur avec des privilèges sudo, ouvrez le fichier de configuration sshd :

      • sudo nano /etc/ssh/sshd_config

      Localisez la ligne qui indique Password Authenticationet la décommenter en supprimant le premier #. Vous pouvez alors changer sa valeur à no :

      /etc/ssh/sshd_config

      PasswordAuthentication no
      

      Deux autres paramètres qui ne devraient pas avoir à être modifiés (à condition que vous n'ayez pas modifié ce fichier auparavant) sont PubkeyAuthentification et ChallengeResponseAuthentification. Elles sont définies par défaut et doivent se lire comme suit :

      /etc/ssh/sshd_config

      PubkeyAuthentication yes
      ChallengeResponseAuthentication no
      

      Après avoir effectué vos modifications, enregistrez et fermez le fichier.

      Vous pouvez maintenant recharger le démon SSH :

      • sudo systemctl reload ssh

      L'authentification par mot de passe devrait maintenant être désactivée, et votre serveur ne devrait être accessible que via l'authentification par clé SSH.

      Conclusion

      Apprendre à s'orienter au sein de SSH en vaut la peine, ne serait-ce que parce c'est un processus de routine.

      Au fur et à mesure que vous utiliserez les différentes options, vous découvrirez des fonctionnalités plus avancées qui peuvent vous faciliter la vie. SSH est resté populaire parce qu'il est sûr, léger et utile dans diverses situations.



      Source link

      Comment utiliser SFTP pour transférer des fichiers en toute sécurité avec un serveur distant


      Introduction

      FTP, ou « File Transfer Protocol » (protocole de transfert de fichiers) était une méthode non cryptée populaire utilisée pour transérer des fichiers entre deux systèmes distants.

      SFTP, qui signifie SSH File Transfer Protocol (protocole de transfert de fichiers SSH ou protocole de transfert de fichiers sécurisé) est un protocole distinct intégrant SSH, qui fonctionne de manière similaire mais via une connexion sécurisée. Il présente l’avantage de pouvoir tirer parti d’une connexion sécurisée pour transférer des fichiers et traverser le système de fichiers à la fois sur le système local et sur le système distant.

      Dans la plupart des cas, il est préférable d’utiliser le SFTP au lieu du FTP, en raison de ses fonctionnalités de sécurité sous-jacentes et de sa capacité à se greffer sur une connexion SSH. FTP est un protocole non sécurisé qui ne doit être utilisé que dans certains cas ou sur des réseaux de confiance.

      Bien que le SFTP soit intégré à de nombreux outils graphiques, ce guide vous expliquera de quelle manière l’utiliser via son interface de ligne de commande interactive.

      SFTP utilise le protocole SSH par défaut pour s’authentifier et établir une connexion sécurisée. Pour cette raison, les mêmes méthodes d’authentification que celles présentes dans SSH sont mises à disposition.

      Bien que les mots de passe soient faciles à utiliser et configurés par défaut, nous vous recommandons de créer des clés SSH et de transférer votre clé publique à tous les systèmes auxquels vous devez accéder. Cette méthode est bien plus sécurisée et vous permet de gagner du temps sur le long terme.

      Veuillez vous reporter à ce guide pour configurer des clés SSH et accéder ainsi à votre serveur, si vous ne l’avez pas encore fait.

      Si vous arrivez à vous connecter à la machine en utilisant SSH, cela signifie que vous avez rempli toutes les conditions requises pour gérer les fichiers à l’aide de SFTP. Testez l’accès à SSH à l’aide de la commande suivante :

      • ssh sammy@your_server_ip_or_remote_hostname

      Si cela fonctionne, ressortez en saisissant :

      Désormais, nous pouvons établir une session SFTP en émettant la commande suivante :

      • sftp sammy@your_server_ip_or_remote_hostname

      Votre connexion au système distant sera établie et votre invite se transformera en une invite SFTP.

      Si vous travaillez sur un port SSH personnalisé (et non pas sur le port 22 par défaut), vous pouvez alors ouvrir une session SFTP de la manière suivante  :

      • sftp -oPort=custom_port sammy@your_server_ip_or_remote_hostname

      Ceci établira votre connexion au système distant via le port que vous avez spécifié.

      Obtenir de l'aide dans SFTP

      La commande la plus utile que vous devez apprendre à utiliser en premier est la commande d'aide. Elle vous permet d'accéder à un résumé de l'aide de SFTP. Vous pouvez l'appeler en saisissant l'une ou l'autre des options suivantes dans l'invite :

      ou

      Une liste des commandes disponibles s'affichera :

      Output

      Available commands: bye Quit sftp cd path Change remote directory to 'path' chgrp grp path Change group of file 'path' to 'grp' chmod mode path Change permissions of file 'path' to 'mode' chown own path Change owner of file 'path' to 'own' df [-hi] [path] Display statistics for current directory or filesystem containing 'path' exit Quit sftp get [-Ppr] remote [local] Download file help Display this help text lcd path Change local directory to 'path' . . .

      Nous allons explorer certaines des commandes que vous allez aborder dans les sections suivantes.

      Un certain nombre de commandes qui fonctionnement de la même manière que leurs homologues shell nous permettent de naviguer dans la hiérarchie de fichiers du système distant.

      Tout d'abord, cherchons à savoir dans quel répertoire du système distant nous nous trouvons actuellement. Tout comme dans une session shell type, nous pouvons saisir ce qui suit pour obtenir le répertoire actuel :

      Output

      Remote working directory: /home/demouser

      Nous pouvons consulter le contenu du répertoire actuel du système distant à l'aide d'une autre commande commune :

      Output

      Summary.txt info.html temp.txt testDirectory

      Notez que les commandes de l'interface SFTP ne sont pas similaires aux commandes shell normales et ne sont pas aussi riches en fonctionnalités. Elles permettent cependant d'implémenter certaines des balises optionnelles les plus importantes :

      Output

      drwxr-xr-x 5 demouser demouser 4096 Aug 13 15:11 . drwxr-xr-x 3 root root 4096 Aug 13 15:02 .. -rw------- 1 demouser demouser 5 Aug 13 15:04 .bash_history -rw-r--r-- 1 demouser demouser 220 Aug 13 15:02 .bash_logout -rw-r--r-- 1 demouser demouser 3486 Aug 13 15:02 .bashrc drwx------ 2 demouser demouser 4096 Aug 13 15:04 .cache -rw-r--r-- 1 demouser demouser 675 Aug 13 15:02 .profile . . .

      Pour accéder à un autre répertoire, nous pouvons lancer la commande suivante :

      Maintenant que nous pouvons traverser le système de fichiers distant, qu'en est-il si nous devons accéder à notre système de fichiers local ? Nous pouvons diriger les commandes vers le système de fichiers local en les faisant précéder d'un l pour local.

      Toutes les commandes abordées jusqu'à maintenant disposent d'équivalents en local. Nous pouvons imprimer le répertoire de travail local :

      Output

      Local working directory: /Users/demouser

      Nous pouvons lister le contenu du répertoire actuel sur la machine locale :

      Output

      Desktop local.txt test.html Documents analysis.rtf zebra.html

      Nous pouvons également changer le répertoire avec lequel nous souhaitons interagir sur le système local :

      Transférer des fichiers avec SFTP

      L'utilité de la navigation dans les systèmes de fichiers distants et locaux reste limitée si nous ne pouvons pas transférer des fichiers entre les deux.

      Transférer des fichiers distants vers le système local

      Pour télécharger des fichiers à partir de notre hébergement local, vous pouvez passer la commande suivante :

      Output

      Fetching /home/demouser/remoteFile to remoteFile /home/demouser/remoteFile 100% 37KB 36.8KB/s 00:01

      Comme vous pouvez le voir, par défaut, la commande get télécharge un fichier distant vers un fichier qui porte le même nom sur le système de fichiers local.

      Nous pouvons copier le fichier distant en utilisant un autre nom, en spécifiant le nom par la suite :

      La commande get prend également en charge quelques balises d'option. Par exemple, nous pouvons copier un répertoire et l'intégralité de son contenu en spécifiant l'option récursive suivante :

      Nous pouvons dire au SFTP de maintenir les autorisations et les temps d'accès appropriés en utilisant la balise -P ou -p :

      Transférer des fichiers locaux vers le système distant

      Il est tout aussi facile de transférer des fichiers vers le système distant en utilisant la commande qui s'appelle, à juste titre, « put » :

      Output

      Uploading localFile to /home/demouser/localFile localFile 100% 7607 7.4KB/s 00:00

      Les mêmes balises que celles qui fonctionnent avec get s'appliquent à put. Donc, si vous souhaitez copier un répertoire local entier, vous pouvez lancer la commande suivante :

      Remarque: il existe actuellement un bogue dans les versions d'OpenSSH intégrant les versions actuelles d'Ubuntu (au moins 14.04 à 15.10), ce qui empêche la commande ci-dessus de fonctionner correctement. Une fois la commande ci-dessus lancée pour transférer le contenu vers un serveur en utilisant la version avec bogue d'OpenSSH, l'erreur suivante apparaîtra : Couldn't canonicalise: No such file or directory (Impossible à canonicaliser : pas de fichier ou de répertoire de ce type).

      Pour résoudre ce problème, créez le répertoire de destination tout d'abord du côté distant en saisissant mkdir localDirectory. Ensuite, la commande ci-dessus devrait s'exécuter sans erreur.

      La commande df est un outil pratique, communément utilisé pour télécharger et envoyer des fichiers. Elle fonctionne de la même manière que la version avec ligne de commande. Grâce à elle, vous pouvez vérifier si vous disposez d'assez d'espace pour procéder aux transferts que vous souhaitez effectuer :

      Output

      Size Used Avail (root) %Capacity 19.9GB 1016MB 17.9GB 18.9GB 4%

      Notez qu'il n'existe pas de variation locale de cette commande, mais nous pouvons contourner cela en émettant la commande ! .

      La commande ! nous amène dans un shell local, où nous pouvons exécuter toute commande disponible sur notre système local. Nous pouvons vérifier l'utilisation du disque en saisissant :

      et puis

      Output

      Filesystem Size Used Avail Capacity Mounted on /dev/disk0s2 595Gi 52Gi 544Gi 9% / devfs 181Ki 181Ki 0Bi 100% /dev map -hosts 0Bi 0Bi 0Bi 100% /net map auto_home 0Bi 0Bi 0Bi 100% /home

      Toute autre commande locale fonctionnera comme prévu. Pour revenir à votre session SFTP, saisissez :

      Maintenant, vous devriez voir apparaître l'invite SFTP.

      Manipulations simples de fichiers avec SFTP

      SFTP vous permet d'effectuer le type de maintenance de base sur les fichiers qui vous est utile lorsque vous travaillez avec des hiérarchies de fichiers.

      Par exemple, vous pouvez modifier le propriétaire d'un fichier sur le système distant en utilisant :

      À la différence de la commande chmod du système, vous remarquerez que la commande SFTP n'accepte pas les noms d'utilisateur, mais utilise des UID à la place. Malheureusement, il n'existe aucun moyen facile de connaître l'UID correspondant à partir de l'interface SFTP.

      Vous pourriez contourner le problème avec :

      • get /etc/passwd
      • !less passwd

      Output

      root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh . . .

      Notez qu'au lieu d'utiliser la commande ! proprement dite, nous l'avons utilisée comme préfixe pour une commande shell locale. Cette méthode fonctionne pour exécuter toute commande disponible sur notre machine locale, et aurait pu être utilisée avec la commande df locale que nous avons abordée précédemment.

      L'UID se trouvera dans la troisième colonne du fichier, délimitée par des deux-points.

      De la même façon, nous pouvons modifier le propriétaire de groupe d'un fichier en utilisant :

      Encore une fois, il n'existe aucun moyen facile d'obtenir une liste des groupes du système distant. Nous pouvons le faire avec la commande suivante :

      • get /etc/group
      • !less group

      Output

      root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6: lp:x:7: . . .

      La troisième colonne contient l'ID du groupe associé au nom de la première colonne. C'est ce que nous voulons.

      Heureusement, la commande chmod fonctionne comme prévu sur le système de fichiers distant :

      Output

      Changing mode on /home/demouser/publicFile

      Il n'existe aucune commande pour manipuler les autorisations des fichiers locaux, mais vous pouvez configurer l'umask local de manière à ce que tous les fichiers copiés sur le système local disposent des autorisations correspondantes.

      Pour cela, vous pouvez utiliser la commande lumask :

      Output

      Local umask: 022

      Maintenant, tous les fichiers réguliers téléchargés (sous réserve que la balise -p ne soit pas utilisée) auront 644 autorisations.

      SFTP vous permet de créer des répertoires sur des systèmes locaux et distants avec lmkdir et mkdir, respectivement. Ces commandes fonctionnent comme prévu.

      Le reste des commandes de fichier cible uniquement le système de fichiers distant :

      Ces commandes répliquent le comportement de base des versions shell. Si vous devez effectuer ces actions sur le système de fichiers local, n'oubliez pas que vous pouvez vous connecter à un shell en lançant la commande suivante :

      Ou exécutez une seule commande sur le système local en faisant précédant la commande d'un ! comme suit :

      Une fois que vous en aurez terminé avec votre session SFTP, utilisez exit ou bye pour mettre fin à la connexion.

      Conclusion

      Bien que SFTP soit un outil simple, il est très utile pour gérer des serveurs et transférer des fichiers entre eux.

      Par exemple, vous pouvez utiliser SFTP pour permettre à certains utilisateurs de transférer des fichiers sans accès SSH. Pour de plus amples informations sur ce processus, veuillez consulter notre tutoriel How To Enable SFTP Without Shell Access (Comment activer le SFTP sans accès au shell).

      Si vous avez l'habitude d'utiliser FTP ou SCP pour effectuer vos transferts, SFTP est un bon compromis pour pouvoir tirer parti des avantages que les deux ont à offrir. Bien qu'il ne soit pas adapté à toute situation, c'est un outil flexible à avoir dans votre répertoire.



      Source link

      Comment mettre en place un bureau distant avec X2Go sur Ubuntu 20.04


      L’auteur a choisi Software in the Public Interest (SPI) pour recevoir un don dans le cadre du programme Write for DOnations.

      Introduction

      Habituellement, les serveurs basés sur Linux ne sont pas livrés avec une interface utilisateur graphique (GUI) pré-installée. Chaque fois que vous souhaitez exécuter des applications GUI sur votre instance, la solution typique consiste à utiliser l’informatique virtuelle en réseau (VNC – Virtual Network Computing). Malheureusement, les solutions VNC peuvent être lentes et peu sûres; beaucoup d’entre elles nécessitent également une configuration manuelle importante. En revanche, X2Go fournit un “bureau cloud,” fonctionnel, complet avec tous les avantages d’un système informatique toujours en ligne, à distance et facilement évolutif avec un réseau rapide. Il est également plus réactif et plus sûr que beaucoup de solutions VNC.

      Dans ce tutoriel, vous allez utiliser X2Go pour créer un environnement de bureau Ubuntu 20.04 XFCE auquel vous pourrez accéder à distance. Ce bureau cloud comprendra les mêmes utilitaires que vous obtiendrez si vous installiez Ubuntu 20.04 et l’environnement XFCE sur votre ordinateur personnel (presque identique à une configuration de Xubuntu).

      La configuration décrite dans ce tutoriel est utile lorsque :

      • Vous devez accéder à un système d’exploitation basé sur Linux, complet avec un environnement de bureau, mais vous ne pouvez pas l’installer sur votre ordinateur personnel.
      • Vous utilisez plusieurs appareils à plusieurs endroits et souhaitez un environnement de travail cohérent avec les mêmes outils, aspect, fichiers et performances.
      • Votre fournisseur d’accès à Internet vous donne très peu de bande passante, mais vous devez accéder à des dizaines ou des centaines de gigaoctets de données.
      • Des travaux de longue durée rendent votre ordinateur local indisponible pendant des heures ou des jours. Imaginez que vous deviez compiler un grand projet, qui prendra 8 heures sur votre ordinateur portable. Vous ne pourrez pas regarder des films ou faire quoi que ce soit d’autre qui exige beaucoup de ressources pendant la compilation de votre projet. Mais si vous exécutez ce travail sur votre serveur, maintenant votre ordinateur est libre d’effectuer d’autres tâches.
      • Vous travaillez avec une équipe, et il est avantageux pour eux de disposer d’un ordinateur partagé auquel elle peut accéder pour collaborer à un projet.

      Conditions préalables

      Avant de démarrer ce tutoriel, vous aurez besoin de :

      • Une instance Ubuntu 20.04 x64 avec 2 Go de RAM ou plus. 2 Go est un minimum, mais un serveur avec au moins 4 Go est idéal si vous prévoyez exécuter des applications gourmandes en mémoire. Vous pouvez utiliser un droplet DigitalOcean si vous le souhaitez.

      • Un utilisateur avec des privilèges sudo et une clé SSH. Suivez ce guide pour démarrer : Configuration initiale du serveur avec Ubuntu 20.04. Assurez-vous de compléter l’étape 4 et de configurer votre pare-feu pour restreindre toutes les connexions, à l’exception d’OpenSSH.

      Étape 1 — Installation de l’environnement de bureau sur votre serveur

      Une fois votre serveur en place et votre pare-feu configuré, vous êtes prêt à installer l’environnement graphique pour le serveur X2Go.

      Tout d’abord, mettez à jour les informations du gestionnaire de paquet sur les derniers logiciels disponibles :

      Dans ce tutoriel, vous installez XFCE en tant que environnement de bureau. XFCE n’utilise pas d’effets graphiques comme le compositing, ce qui le rend plus compatible avec X2Go et optimise les mises à jour d’écran. Pour référence, l’environnement de bureau LXDE et l’environnement de bureau MATE (avec le compositing désactivé) fonctionnent également bien, mais vous devrez modifier la commande dans ce tutoriel là où vous installez l’environnement de bureau. Par exemple, au lieu de sudo apt-get install xubuntu-desktop, vous devriez taper sudo apt-get install lubuntu-desktop pour installer LXDE.

      Il existe deux façons d’installer XFCE : l’environnement de bureau minimal ou l’environnement de bureau complet. Le meilleur choix pour vous dépendra de vos besoins, que nous allons aborder maintenant. Choisissez l’un des deux.

      L’environnement de bureau complet

      Recommandé pour la plupart des cas d’utilisation. Si vous ne souhaitez pas choisir chaque composant dont vous avez besoin et que vous souhaitez plutôt disposer d’un ensemble de paquets par défaut, comme un traitement de texte, un navigateur web, un client de courrier électronique et d’autres accessoires pré-installé, vous pouvez choisir xubuntu-desktop.

      Installez et configurez l’environnement complet de bureau. L’environnement complet de bureau est similaire à ce que vous obtiendriez si vous installiez Xubuntu à partir d’une clé USB/ DVD amorçable sur votre PC local :

      • sudo apt-get install xubuntu-desktop

      Lorsque vous êtes invité à choisir un gestionnaire d’affichage, choisissez lightdm.

      Choisir lightdm en tant que gestionnaire d'affichage

      L’environnement de bureau minimal

      Si vous souhaitez installer un petit ensemble de paquets de base de base et de les compléter en ajoutant manuellement tout ce dont vous avez besoin, vous pouvez utiliser le meta-paquet xubuntu-core.

      Un méta-paquet ne contient pas un seul paquet, mais une collection complète de paquets. L’installation d’un méta-paquet permet à l’utilisateur d’installer manuellement de nombreux composants.

      Installez xfce4 et toutes les dépendances supplémentaires nécessaires pour le faire fonctionner :

      • sudo apt-get install xubuntu-core

      Vous avez installé un environnement graphique. Vous allez maintenant établir un moyen de le voir à distance.

      Étape 2 — Installation de X2Go sur le serveur

      X2Go est livré avec deux composants principaux : le serveur, qui démarre et gère la session graphique sur la machine distante, et le client que vous installez sur votre ordinateur local pour voir et contrôler le bureau ou l’application distant.

      Dans les versions précédentes d’Ubuntu (avant 18.04), x2goserver n’était pas inclus dans les référentiels par défaut, vous devriez donc suivre des étapes comme celles-ci pour obtenir le paquet logiciel. Nous laissons le lien ici, juste pour référence, au cas où le paquet serait abandonné dans les versions futures d’Ubuntu. Heureusement, Ubuntu 20.04, sous le nom de code Focale Fossa, comprend le paquet dont vous avez besoin dans ses référentiels par défaut, de sorte que l’installation est plus rapide.

      Pour installer X2Go sur votre serveur, tapez la commande suivante :

      • sudo apt-get install x2goserver x2goserver-xsession

      À ce stade, votre serveur n’exige aucune d’autre installation. Cependant, n’oubliez pas que si vous avez suivi la recommandation de configurer les clés SSH décrite dans la configuration initiale du serveur avec Ubuntu 20.04, vous devrez alors disposer de votre clé privée SSH sur chaque machine locale que vous avez l’intention d’utiliser. Si vous n’avez pas mis en place une clé privée SSH, assurez-vous de choisir un mot de passe fort.

      Remarque : n’oubliez pas que si vous manquez de RAM, le noyau Linux pourrait arrêter brusquement certaines applications, ce qui peu entraîner une perte de travail. Si vous utilisez un droplet DigitalOcean et que vous remarquez que vos programmes nécessitent plus de RAM, vous pouvez temporairement désactiver votre droplet et la mettre à niveau (redimensionner) avec plus de mémoire.

      Vous avez configuré votre serveur. Tapez exit ou fermez la fenêtre de votre terminal. Le reste des étapes se concentrera sur la configuration du client sur votre machine locale.

      Étape 3 — Installation locale du client X2Go

      X2Go est prêt à être utilisé dès sa sortie de la boîte. Si vous utilisez Windows ou Mac OS X sur votre machine locale, vous pouvez télécharger le logiciel client X2Go ici. Si vous utilisez Debian ou Ubuntu, vous pouvez installer le client X2Go avec cette commande sur votre machine locale :

      • sudo apt-get install x2goclient

      Après avoir téléchargé le logiciel, vous êtes prêt à l’installer. Ouvrez l’installateur et sélectionnez votre langue. Maintenant acceptez la licence et laissez l’assistant vous guider à travers les étapes restantes. En règle générale, il ne devrait pas y avoir de raison de modifier les valeurs par défaut pré-remplies dans ces étapes.

      X2Go fonctionne dès le départ, mais il est également très personnalisable. Si vous souhaitez des informations supplémentaires, consultez la documentation officielle de X2Go.

      Maintenant que vous avez installé le client de bureau, vous pouvez configurer ses paramètres et vous connecter au serveur X2Go pour utiliser votre bureau XFCE distant.

      Étape 4 — Connexion au bureau à distance

      Lorsque vous ouvrez le client X2Go pour la première fois, une fenêtre apparaît. Si ce n’est pas le cas, cliquez sur Session dans le menu situé en haut à gauche, puis sélectionnez New session ….

      Capture d'écran client X2Go - Création d'une nouvelle session

      Dans le champ Session name, entrez quelque chose qui vous aidera à différencier les serveurs. L’utilisation d’un nom de session est particulièrement utile si vous prévoyez de vous connecter à plusieurs machines.

      Entrez l’adresse IP de votre serveur ou un nom de domaine pleinement qualifié (FQDN) dans le champ Host sous Server.

      Entrez le nom d’utilisateur que vous avez utilisé pour votre connexion SSH dans le champ Login.

      Comme vous avez installé XFCE à l’Étape deux, choisissez XFCE en tant que votre Session type.

      Enfin, parce que vous vous connectez au serveur avec les clés SSH, cliquez sur l’icône de dossier à côté de Use RSA/DSA key for ssh connection et naviguez jusqu’à votre clé privée. Si vous n’avez pas choisi d’utiliser les clés SSH plus sécurisées, laissez ce champ vide ; le client X2Go vous demandera un mot de passe à chaque fois que vous vous connecterez.

      Le reste des paramètres par défaut suffira pour l’instant, mais à mesure que vous vous familiarisez avec le logiciel, vous pourrez affiner le client en fonction de vos préférences individuelles.

      Après avoir appuyé sur le bouton OK, vous pouvez démarrer votre session graphique en cliquant sur la case blanche qui inclut le nom de votre session en haut à droite de la case.

      Fenêtre principale de X2Go - Liste de session

      Si vous exécutez OS X sur votre machine locale, OS X vous invite à installer XQuartz, qui est nécessaire pour exécuter X11. Si c’est le cas, suivez les instructions pour l’installer maintenant.

      Dans quelques secondes, votre bureau distant apparaîtra et vous pouvez commencer à interagir avec celui-ci.

      Il existe quelques raccourcis clavier utiles que vous pouvez utiliser pour une meilleure expérience sur les systèmes d’exploitation basés sur Windows et Linux.

      Remarque : ces deux premières options peuvent afficher un comportement de bug sur les éditions Windows modernes. Vous pouvez toujours les essayer à ce stade, au cas où les versions ultérieures de X2Go auraient résolu les problèmes. Si elles échouent, évitez simplement d’utiliser le même raccourci clavier à l’avenir.

      CTRL+ALT+F activera et désactivera le mode plein écran. Travailler en mode plein écran peut ressembler davantage à une expérience de bureau locale. Le mode plein écran aide également la machine distante à saisir les raccourcis clavier à la place de votre machine locale.

      CTRL+ALT+M réduira la vue à distance, même si vous êtes en mode plein écran.

      CTRL+ALT+T déconnectera de la session mais laissera l’interface graphique fonctionner sur le serveur. C’est juste un moyen rapide de quitter sans se déconnecter ni fermer les applications sur le serveur. Il en ira de même si vous cliquez sur le bouton de fermeture de la fenêtre.

      Enfin, il existe deux façons de mettre fin à la session distante et de fermer tous les programmes graphiques qui y sont exécutés. Vous pouvez vous déconnecter à distance depuis le menu de démarrage de XFCE, ou vous pouvez cliquer sur le bouton marqué d’un cercle et d’une petite ligne (comme une icône de marche/veille) dans le coin inférieur droit de la partie principale de l’écran de X2Go

      La première méthode est plus propre, mais peut laisser tourner des programmes comme les logiciels de gestion de session. La deuxième méthode fermera tout mais elle peut le faire avec force si un processus ne peut pas se terminer proprement. Dans les deux cas, assurez-vous de sauvegarder votre travail avant de continuer.

      Fenêtre principale de X2Go - Bouton de fin de session

      Vous avez maintenant accédé à votre bureau distant et l’avez configuré avec succès.

      Conclusion

      Dans ce tutoriel, vous avez utilisé X2Go pour créer un environnement GUI et distant pour le système d’exploitation Ubuntu. Maintenant que vous êtes opérationnel, voici quelques idées sur l’utilisation de ce bureau :

      Si vous souhaitez en savoir plus, consultez le site officiel de documentation de X2Go.



      Source link