Tmate - Linuxユーザと安全にSSHターミナルセッションを共有する


tmate は、SSH接続を介して安全で即時に使用できる端末共有ソリューションを提供するtmux(端末マルチプレクサ)のクローンです。それは tmux の上に構築されています。同じシステムで両方のターミナルエミュレータを実行できます。 tmate.ioの公式サーバーを使用するか、独自のtmateサーバーをホストすることができます。

次の図は、 tmate (プロジェクトのWebサイトから取得)のさまざまなコンポーネントを含む単純化されたアーキテクチャ図を示しています。

Tmateを起動すると、まずlibsshを介してバックグラウンドでtmate.ioサーバーへのssh接続を確立します。接続が確立されると、セッションごとに150ビットのセッショントークンが生成されます。信頼できるユーザーは、この生成されたトークンを使用して端末セッションにアクセスできます。

LinuxにTmateをインストールする方法

Tmate は、表示されているように、パッケージマネージャを使用して、ほとんどのLinuxディストリビューションのデフォルトのリポジトリからインストールできます。

Debian および Ubuntu ベースのLinuxディストリビューションでは、次のPPAを使用して Tmate をインストールします。

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

Fedora ディストリビューションでは、次のdnfコマンドを使用してください。

$ sudo dnf install tmate

Arch Linux では、図のようにAURからインストールできます。

$ yaourt -S tmate

openSUSE では、zypperコマンドを使用してインストールできます。

$ sudo zypper in tmate

Gento では、 emerge を使ってインストールできます。

$ sudo emerge tmate

CentOSやRHEL などの他のLinuxディストリビューションでは、https://github.com/nviennot/tmateからソースをダウンロードして、次のコマンドでコンパイルしてインストールできます。

$ ./autogen.sh 
$ ./configure 
$ make     
$ sudo make install

Tmateを使って端末を共有する方法

tmate をインストールすると、〜/ .tmux.conf 〜/ .tmate.conf 設定ファイルの両方が使用されます。あなたの端末を共有している人はみんなあなたのtmux設定とあなたのキー割り当てを使うでしょう。端末は256色とUTF-8に強制されているので、tmuxの場合と同じように-2を渡す必要はありません。

tmate を起動するには、次のコマンドを実行します。これにより、プログラムは libsshを通じてバックグラウンドで tmate.io (または自分のサーバー)へのSSH接続を確立します。

$ tmate 

その後、生成されたトークンIDを使用してsshセッション接続パラメータ(この場合 [email protected] )を相手と共有し、端末にアクセスできるようにします。

あなたの端末にアクセスするには、あなたの友人/同僚は自分の端末で次のsshコマンドを実行する必要があります。

$ ssh [email protected]

SSH接続文字列を含むtmateのログメッセージを表示するには、次のコマンドを実行します。

$ tmate show-messages

tmateはまたあなたの端末の読み取り専用ビューを共有することを可能にします。上記のスクリーンショットに示すように、読み取り専用の接続文字列はtmate show-messagesで取得できます。

プログラムを終了するには、 exit コマンドを実行します。

$ exit

tmateがどのように機能するか、デーモンとしてそれを実行し、あなた自身のtmateサーバーをホストする方法についての詳細は、プロジェクトのWebサイトhttps://tmate.io/を参照してください。

ある[ Tmate は、安全でインスタントな端末共有ソリューションを提供する tmux のフォークです。この記事では、Linuxにtmateをインストールして使用し、それを使用して自分の端末を相手と共有する方法を説明しました。下記のフィードバックフォームから私達とあなたの考えを共有してください。