GNU/Linux >> Tutoriels Linux >  >> Linux

Tmate - Partagez votre terminal instantanément avec n'importe qui de n'importe où

Il existe de nombreux programmes populaires de partage de bureau à distance (tels que Teamviewer, Guacamole , et TigerVNC etc.) que vous pouvez utiliser lorsque vous avez besoin de partager votre écran avec vos collègues ou amis. Ces programmes partageront tout votre écran avec d'autres. Mais, si vous souhaitez partager uniquement le terminal, vous pouvez simplement utiliser Tmate . Il s'agit en fait d'un fork de Tmux , un multiplexeur de terminal qui vous permet d'utiliser plusieurs programmes dans un seul Terminal. Ils peuvent tous les deux être installés sur le même système en même temps. Tmate est quelque chose comme un Teamviewer pour votre terminal.

Pour ceux qui se demandent, Tmate établira une connexion sécurisée via SSH vers tmate.io site Web et générer une URL aléatoire pour chaque session. Vous pouvez partager l'URL avec une personne de confiance et elle peut utiliser le terminal comme elle utilise son propre terminal tant que la connexion est active. Il est préférable de collaborer sur des projets communs, de déboguer un projet avec une équipe de développeurs ou d'obtenir un support technique sur un réseau distant. Tmate prend en charge tous les systèmes d'exploitation populaires, y compris les systèmes GNU/Linux, Mac OS X et BSD.

Dans ce tutoriel, je vais vous expliquer comment installer et utiliser Tmate dans des systèmes d'exploitation de type Unix.

Tmate - Partagez votre terminal instantanément avec n'importe qui, n'importe où

Installer Tmate

Pour Arch Linux , et ses dérivés comme Antergos, Manjaro Linux, Tmate est disponible en AUR , vous pouvez donc l'installer à l'aide de programmes d'assistance AUR tels que Yay .

$ yay -S tmate

Pour Fedora , exécutez la commande suivante pour installer Tmate.

$ sudo dnf install tmate

Sur Ubuntu , et ses dérivés comme Linux Mint, vous pouvez installer en utilisant le PPA suivant.

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:tmate.io/archive
$ sudo apt-get update
$ sudo apt-get install tmate

Sur Ubuntu 18.04 LTS versions, activez le référentiel d'univers et installez Tmate comme ci-dessous.

$ sudo add-apt-repository universe
$ sudo apt install tmate

Sur FreeBSD :

# pkg install tmate

OpenBSD :

# pkg_add tmate
Téléchargement recommandé - Ebook gratuit :"Apprenez Linux en 5 jours"

Configurer SSH

Avant de commencer à utiliser Tmate, nous devons créer une paire de clés SSH. Parce que le programme tmate établit une connexion SSH sécurisée avec tmate.io en utilisant la paire de clés SSH locale.

Créons une paire de clés SSH à l'aide de la commande :

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/sk/.ssh/id_rsa): 
Created directory '/home/sk/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/sk/.ssh/id_rsa.
Your public key has been saved in /home/sk/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:DL3+rYrYtXYHxyFfDSRAsz4470wAQ+V/iW+sd5/fnA0 [email protected]
The key's randomart image is:
+---[RSA 2048]----+
| ....+.... |
| . o o .. |
| + o . o |
| = =..... .|
| S =+oo |
| . +.=+ |
| o oo+ E |
| o o.*.+o .o=|
| . o.oo*+.. +B|
+----[SHA256]-----+

Si vous ne créez pas, vous verrez le message de notification suivant au bas de la fenêtre du terminal.

[Tmate] Reconnecting... (SSH keys not found. Run  'ssh-keygen' to create keys and try again.)

Utilisation de Tmate

Une fois que vous avez créé la paire de clés SSH, lancez Tmate en exécutant la commande suivante depuis votre Terminal :

$ tmate

Si vous avez saisi une phrase secrète lors de la création de la paire de clés SSH, vous devrez peut-être la saisir pour établir la session Tmate.

Après avoir démarré la session Tmate, partagez l'ID de connexion avec toute personne avec qui vous souhaitez partager votre écran. Vous pouvez le partager avec n'importe quel nombre de personnes de confiance. Ils n'ont pas besoin d'être sur le même réseau ou d'utiliser le même système d'exploitation. Ils n'ont même pas besoin d'installer tmate ou tmux.

Voici à quoi ressemblent les sessions Tmate.

Tmate session

Comme vous le voyez dans la capture d'écran ci-dessus, il y a un ID de session SSH (une chaîne de caractères aléatoires) en bas de l'écran. Il vous suffit de le copier et de le partager avec d'autres pour vous connecter. Veuillez noter que cet ID disparaîtra après quelques secondes. Cependant, vous pouvez toujours afficher les ID de session à l'aide de la commande :

$ tmate show-messages

Exemple de sortie :

Fri Aug 11 17:18:48 2017 [tmate] Connecting to ssh.tmate.io...
Fri Aug 11 17:18:49 2017 [tmate] Note: clear your terminal before sharing readonly access
Fri Aug 11 17:18:49 2017 [tmate] web session read only: https://tmate.io/t/ro-UVgrzHg2BVanPXZnt6JtlpU3V
Fri Aug 11 17:18:49 2017 [tmate] ssh session read only: ssh [email protected]
Fri Aug 11 17:18:49 2017 [tmate] web session: https://tmate.io/t/LVWgMSX2wNhBLdrLfxtcX00rk
Fri Aug 11 17:18:49 2017 [tmate] ssh session: ssh [email protected]

Comme vous le voyez dans la sortie ci-dessus, vous pouvez soit partager le terminal via une session SSH, soit une session Web en utilisant les ID de session respectifs. Vous pouvez également partager la session en lecture seule ou session de lecture-écriture .

Remarque très très importante : N'oubliez pas que si vous avez donné des identifiants de session en lecture-écriture (SSH ou Web), l'utilisateur peut faire n'importe quoi. Parce que vous venez de lui donner un accès à votre système avec les droits sudo . Donc, je vous suggère fortement de donner des identifiants de session en lecture seule .

Lorsque vous partagez la session en lecture seule, vous ne souhaitez pas autoriser les utilisateurs distants à afficher les autres ID de session en lecture-écriture. Donc, effacez simplement le terminal avant de donner les identifiants de session aux utilisateurs .

Se connecter via des sessions SSH

Pour ceux qui souhaitent partager le Terminal via des sessions SSH, donnez l'ID de session SSH aux utilisateurs distants.

Par exemple, les utilisateurs distants doivent saisir la commande suivante pour accéder à la session Tmate en lecture seule à partir de leur système.

$ ssh [email protected]

Dans la session en lecture seule, seuls les utilisateurs distants peuvent voir votre Terminal. Ils ne peuvent exécuter aucune commande.

Pour partager la session de lecture-écriture, la commande est :

$ ssh [email protected]

Désormais, les utilisateurs distants peuvent accéder à votre terminal en mode lecture-écriture. Cela signifie qu'ils peuvent exécuter n'importe quelle commande sur votre terminal. Toutes les commandes qu'ils entrent dans la session à distance peuvent également être visualisées à partir de votre terminal local.

Se connecter via des sessions Web

Pour ceux qui souhaitent partager le Terminal via un navigateur Web, il suffit de donner l'URL Web aux autres pour se connecter.

Disons par exemple, pour partager la lecture-écriture, je donnerais cette URL à mes collègues - https://tmate.io/t/LVWgMSX2wNhBLdrLfxtcX00rk

Lorsqu'ils saisiront l'URL ci-dessus, ils verront l'écran suivant.

Session Web Tmate

Encore une fois, je vous avertis de ne pas donner d'identifiants de session en lecture-écriture à qui que ce soit, sauf si cela est absolument nécessaire. Partagez les sessions de lecture-écriture uniquement avec des personnes de confiance.

Suggestion de lecture :

  • Reptyr – Déplacer un processus en cours d'exécution d'un terminal à un autre sans le fermer

Travailler sous une session tmate est exactement le même que tmux. Vous pouvez considérer tmate comme un tunnel ssh inversé accessible de n'importe où. Pour quitter une session, tapez exit . Pour plus de détails, reportez-vous aux pages de manuel.

$ man tmate

Linux
  1. Enregistrez votre session terminale avec Asciinema

  2. Lire et écrire des données de n'importe où avec la redirection dans le terminal Linux

  3. Quelle est votre astuce de terminal Linux préférée ?

  4. Quel est votre émulateur de terminal Linux préféré ?

  5. Partez à l'aventure dans votre terminal Linux

Comment partager votre terminal sur le Web à l'aide de Streamhut

Wpm - Mesurez votre vitesse de frappe depuis le terminal

Bashhub - Accédez à l'historique de votre terminal depuis n'importe où

Partager et contrôler les terminaux en temps réel depuis un navigateur Web

tmate :partagez instantanément une session de terminal avec d'autres utilisateurs Linux

Comment partager des répertoires sur votre réseau local à partir d'Ubuntu Desktop 22.04