Es gibt viele beliebte Remote-Desktop-Sharing-Programme (wie Teamviewer, Guacamole , und TigerVNC usw.), die Sie verwenden können, wenn Sie Ihren Bildschirm für Ihre Kollegen oder Freunde freigeben müssen. Diese Programme teilen Ihren gesamten Bildschirm mit anderen. Wenn Sie jedoch nur das Terminal teilen möchten, können Sie einfach Tmate verwenden . Es ist eigentlich ein Fork von Tmux , ein Terminal-Multiplexer, mit dem Sie mehrere Programme in einem einzigen Terminal verwenden können. Beide können gleichzeitig auf demselben System installiert werden. Tmate ist so etwas wie ein Teamviewer für Ihr Terminal.
Für diejenigen, die sich fragen, stellt Tmate eine sichere Verbindung über SSH zu tmate.io her Website und generieren eine zufällige URL für jede Sitzung. Sie können die URL mit jemandem teilen, dem Sie vertrauen, und dieser kann das Terminal so verwenden, wie er sein eigenes Terminal verwendet, solange die Verbindung aktiv ist. Es ist am besten geeignet, um an gemeinsamen Projekten zusammenzuarbeiten, ein Projekt mit einem Entwicklerteam zu debuggen oder technischen Support über ein Remote-Netzwerk zu erhalten. Tmate unterstützt alle gängigen Betriebssysteme, einschließlich GNU/Linux, Mac OS X und BSD-Systeme.
In diesem Tutorial werde ich erklären, wie man Tmate in Unix-ähnlichen Betriebssystemen installiert und verwendet.
Tmate - Teilen Sie Ihr Terminal sofort mit jedem und überall
Tmate installieren
Für Arch Linux , und seine Derivate wie Antergos, Manjaro Linux, Tmate sind in AUR verfügbar , sodass Sie es mit AUR-Hilfsprogrammen wie Yay installieren können .
$ yay -S tmate
Für Fedora , führen Sie den folgenden Befehl aus, um Tmate zu installieren.
$ sudo dnf install tmate
Auf Ubuntu , und seine Derivate wie Linux Mint, können Sie mit dem folgenden PPA installieren.
$ sudo apt-get install software-properties-common $ sudo add-apt-repository ppa:tmate.io/archive $ sudo apt-get update $ sudo apt-get install tmate
Auf Ubuntu 18.04 LTS Versionen, aktivieren Sie das Universe-Repository und installieren Sie Tmate wie unten beschrieben.
$ sudo add-apt-repository universe
$ sudo apt install tmate
Auf FreeBSD :
# pkg install tmate
OpenBSD:
# pkg_add tmateEmpfohlener Download - Kostenloses eBook:"Lernen Sie Linux in 5 Tagen"
SSH konfigurieren
Bevor wir mit der Verwendung von Tmate beginnen, müssen wir ein SSH-Schlüsselpaar erstellen. Denn das tmate-Programm baut eine sichere SSH-Verbindung mit tmate.io auf mit dem lokalen SSH-Schlüsselpaar.
Lassen Sie uns ein SSH-Schlüsselpaar mit dem Befehl erstellen:
$ 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]-----+
Wenn Sie keine erstellen, sehen Sie die folgende Benachrichtigung am unteren Rand des Terminalfensters.
[Tmate] Reconnecting... (SSH keys not found. Run 'ssh-keygen' to create keys and try again.)
Tmate-Nutzung
Sobald Sie das SSH-Schlüsselpaar erstellt haben, starten Sie Tmate, indem Sie den folgenden Befehl von Ihrem Terminal aus ausführen:
$ tmate
Wenn Sie beim Erstellen des SSH-Schlüsselpaars eine Passphrase eingegeben haben, müssen Sie diese möglicherweise eingeben, um die Tmate-Sitzung einzurichten.
Nachdem Sie die Tmate-Sitzung gestartet haben, teilen Sie die Verbindungs-ID mit jedem, mit dem Sie Ihren Bildschirm teilen möchten. Sie können es mit beliebig vielen Personen teilen, denen Sie vertrauen. Sie müssen sich nicht im selben Netzwerk befinden oder nicht dasselbe Betriebssystem verwenden. Sie müssen nicht einmal tmate oder tmux installiert haben.
So sehen Tmate-Sitzungen aus.
Tmate-Sitzung
Wie Sie im obigen Screenshot sehen, befindet sich unten auf dem Bildschirm eine SSH-Sitzungs-ID (eine Zeichenfolge aus zufälligen Zeichen). Kopieren Sie es einfach und teilen Sie es mit anderen, um sich zu verbinden. Bitte beachten Sie, dass diese ID nach einigen Sekunden verschwindet. Sie können die Sitzungs-IDs jedoch weiterhin mit dem Befehl anzeigen:
$ tmate show-messages
Beispielausgabe wäre:
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]
Wie Sie in der obigen Ausgabe sehen, können Sie das Terminal entweder über eine SSH-Sitzung oder eine Websitzung mit den entsprechenden Sitzungs-IDs teilen. Sie können auch entweder die schreibgeschützte Sitzung freigeben oder Lese-Schreib-Sitzung .
Sehr sehr wichtiger Hinweis: Bitte beachten Sie, dass der Benutzer alles tun kann, wenn Sie Sitzungs-IDs mit Lese-/Schreibzugriff angegeben haben (entweder SSH oder Web). Weil Sie ihm gerade Ihren Systemzugriff mit sudo-Rechten gegeben haben . Ich empfehle Ihnen daher dringend, schreibgeschützte Sitzungs-IDs anzugeben .
Wenn Sie die schreibgeschützte Sitzung freigeben, möchten Sie nicht, dass die Remotebenutzer die anderen Sitzungs-IDs mit Lese-/Schreibzugriff anzeigen können. Also, löschen Sie einfach das Terminal, bevor Sie die Sitzungs-IDs an die Benutzer weitergeben .
Über SSH-Sitzungen verbinden
Für diejenigen, die das Terminal über SSH-Sitzungen freigeben möchten, geben Sie die SSH-Sitzungs-ID an die Remote-Benutzer weiter.
Zum Beispiel müssen die entfernten Benutzer den folgenden Befehl eingeben, um von ihrem System aus auf die schreibgeschützte Tmate-Sitzung zuzugreifen.
$ ssh [email protected]
In der Nur-Lese-Sitzung können die Remote-Benutzer nur Ihr Terminal sehen. Sie können keine Befehle ausführen.
Um die Lese-Schreib-Sitzung zu teilen, lautet der Befehl:
$ ssh [email protected]
Jetzt können die Remote-Benutzer im Lese-/Schreibmodus auf Ihr Terminal zugreifen. Das bedeutet, dass sie jeden Befehl auf Ihrem Terminal ausführen können. Alle Befehle, die sie in der Remote-Sitzung eingeben, können auch von Ihrem lokalen Terminal aus angezeigt werden.
Über Websitzungen verbinden
Für diejenigen, die das Terminal über einen Webbrowser teilen möchten, geben Sie einfach die Web-URL an andere weiter, um sich zu verbinden.
Sagen wir zum Beispiel, um den Lese-/Schreibzugriff zu teilen, würde ich diese URL an meine Kollegen weitergeben – https://tmate.io/t/LVWgMSX2wNhBLdrLfxtcX00rk
Wenn sie die obige URL eingeben, sehen sie den folgenden Bildschirm.
Tmate-Websitzung
Nochmals, ich warne Sie, niemandem Lese-/Schreib-Sitzungs-IDs zu geben, es sei denn, es ist absolut notwendig. Teilen Sie die Read-Write-Sitzungen nur mit vertrauenswürdigen Personen.
Empfohlene Lektüre:
- Reptyr – Verschieben Sie einen laufenden Prozess von einem Terminal zu einem anderen, ohne es zu schließen
Das Arbeiten unter einer tmate-Sitzung ist genau dasselbe wie tmux. Sie können sich tmate als einen Reverse-SSH-Tunnel vorstellen, auf den Sie von überall aus zugreifen können. Um eine Sitzung zu verlassen, geben Sie exit ein . Weitere Einzelheiten finden Sie in den Manpages.
$ man tmate