多くの人気のあるリモートデスクトップ共有プログラム(Teamviewer、 Guacamole など)があります 、およびTigerVNCなど)画面を同僚や友人と共有する必要がある場合に使用できます。これらのプログラムは、画面全体を他の人と共有します。ただし、ターミナルのみを共有する場合は、 Tmateを使用できます。 。実際にはTmuxのフォークです 、単一の端末で複数のプログラムを使用できるようにする端末マルチプレクサ。両方を同時に同じシステムにインストールできます。 Tmateは、ターミナルのTeamviewerのようなものです。
疑問に思っている人のために、TmateはSSH経由で tmate.ioへの安全な接続を確立します Webサイトにアクセスし、セッションごとにランダムなURLを生成します。信頼できる人とURLを共有することができ、接続がアクティブである限り、その人は自分のターミナルを使用するのと同じようにターミナルを使用できます。一般的なプロジェクトでのコラボレーション、開発者のチームとのプロジェクトのデバッグ、またはリモートネットワークを介したテクニカルサポートの取得に最適です。 Tmateは、GNU / Linux、Mac OS X、BSDシステムを含むすべての一般的なオペレーティングシステムをサポートしています。
このチュートリアルでは、UnixライクなオペレーティングシステムにTmateをインストールして使用する方法を説明します。
Tmate-ターミナルを誰とでもどこでもすぐに共有
Tmateのインストール
Arch Linux の場合 、およびAntergos、Manjaro Linux、Tmateなどのその派生物は、 AURで利用できます。 、 YayなどのAURヘルパープログラムを使用してインストールできます 。
$ yay -S tmate
Fedoraの場合 、次のコマンドを実行してTmateをインストールします。
$ sudo dnf install tmate
Ubuntuについて 、およびLinux Mintなどのその派生物では、次のPPAを使用してインストールできます。
$ sudo apt-get install software-properties-common $ sudo add-apt-repository ppa:tmate.io/archive $ sudo apt-get update $ sudo apt-get install tmate
Ubuntu 18.04 LTS バージョンについては、ユニバースリポジトリを有効にして、以下のようにTmateをインストールしてください。
$ sudo add-apt-repository universe
$ sudo apt install tmate
FreeBSD :
# pkg install tmate
OpenBSD:
# pkg_add tmate推奨ダウンロード -無料の電子書籍:「5日間でLinuxを学ぶ」
SSHの構成
Tmateの使用を開始する前に、SSHキーペアを作成する必要があります。これは、tmateプログラムが tmate.ioとの安全なSSH接続を確立するためです。 ローカルSSHキーペアを使用します。
コマンドを使用してSSHキーペアを作成しましょう:
$ 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]-----+
作成しない場合は、ターミナルウィンドウの下部に次の通知メッセージが表示されます。
[Tmate] Reconnecting... (SSH keys not found. Run 'ssh-keygen' to create keys and try again.)
Tmateの使用法
SSHキーペアを作成したら、ターミナルから次のコマンドを実行してTmateを起動します。
$ tmate
SSHキーペアの作成中にパスフレーズを入力した場合は、Tmateセッションを確立するためにパスフレーズを入力する必要がある場合があります。
Tmateセッションを開始したら、画面を共有したい人と接続IDを共有します。信頼できる人なら何人でも共有できます。それらは同じネットワークにある必要はなく、同じOSを使用する必要もありません。 tmateやtmuxをインストールする必要はありません。
これがTmateセッションの様子です。

Tmateセッション
上のスクリーンショットにあるように、画面の下部にSSHセッションID(ランダムな文字の文字列)があります。コピーして他の人と共有するだけで接続できます。このIDは数秒後に消えることに注意してください。ただし、次のコマンドを使用してセッションIDを表示することはできます:
$ tmate show-messages
サンプル出力は次のようになります:
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]
上記の出力に示されているように、SSHセッションを介してターミナルを共有するか、それぞれのセッションIDを使用してWebセッションを共有することができます。 読み取り専用セッションのいずれかを共有することもできます または読み取り/書き込みセッション 。
非常に重要な注意: 読み取り/書き込みセッションID(SSHまたはWebのいずれか)を指定した場合、ユーザーは何でも実行できることに注意してください。なぜなら、あなたは彼にsudo権限でシステムアクセスを与えただけだからです 。したがって、読み取り専用のセッションIDを指定することを強くお勧めします 。
読み取り専用セッションを共有している場合、リモートユーザーに他の読み取り/書き込みセッションIDを表示させたくありません。したがって、ユーザーにセッションIDを提供する前に、ターミナルをクリアするだけです 。
SSHセッション経由で接続
SSHセッションを介してターミナルを共有したい場合は、SSHセッションIDをリモートユーザーに提供してください。
たとえば、リモートユーザーが次のコマンドを入力して、システムから読み取り専用のTmateセッションにアクセスします。
$ ssh [email protected]
読み取り専用セッションでは、リモートユーザーはターミナルのみを表示できます。コマンドを実行することはできません。
読み取り/書き込みセッションを共有するためのコマンドは次のとおりです。
$ ssh [email protected]
これで、リモートユーザーは読み取り/書き込みモードで端末にアクセスできます。つまり、ターミナルで任意のコマンドを実行できます。リモートセッションで入力するすべてのコマンドは、ローカルターミナルからも表示できます。
Webセッションを介して接続
Webブラウザを介してターミナルを共有したい場合は、他の人にWebURLを渡して接続してください。
たとえば、読み取りと書き込みを共有するには、このURLを同僚に提供します- https://tmate.io/t/LVWgMSX2wNhBLdrLfxtcX00rk
上記のURLを入力すると、次の画面が表示されます。

TmateWebセッション
繰り返しになりますが、絶対に必要な場合を除いて、読み取り/書き込みセッションIDを誰にも与えないように警告します。読み取り/書き込みセッションを信頼できる人とのみ共有します。
推奨される読み物:
- Reptyr –実行中のプロセスを閉じずに1つのターミナルから別のターミナルに移動します
tmateセッションでの作業は、tmuxとまったく同じです。 tmateは、どこからでもアクセスできるリバースsshトンネルと考えることができます。セッションを終了するには、 exitと入力します 。詳細については、manページを参照してください。
$ man tmate