はじめに
モッシュ 、 Mobile Shellの略です は、インターネットを介してクライアントコンピュータからサーバーに接続するために使用されるコマンドラインアプリケーションです。 SSHとして使用できます Secure Shellよりも多くの機能が含まれています 。
これはSSHに似たアプリケーションですが、追加機能があります。このアプリケーションは、元々キースウィンシュタインによって作成されました。 Unixライクなオペレーティングシステム用で、GNUGPLv3でリリースされています。
Moshの機能
ローミングを可能にするリモートターミナルアプリケーション 、断続的な接続をサポート 、インテリジェントなローカルエコーを提供します ユーザーのキーストロークの行編集。
Moshは、インタラクティブSSH端末の代替品です。特にWi-Fi、携帯電話、長距離リンクを介して、より堅牢で応答性が高くなります。
Moshは無料のソフトウェアで、GNU / Linux、BSD、macOS、Solaris、Android、Chrome、iOSで利用できます。
使用法
インタラクティブSSHを置き換えます。瞬時のキーストローク応答、ローミングに対して堅牢。 ただし、UDPを使用する必要があります。
モッシュのしくみ
リモートシェルプロトコルは、従来、サーバーからクライアントにバイトストリームを伝達することで機能し、クライアントの端末によって解釈されます。 (これには、TELNET、RLOGIN、およびSSHが含まれます。)Moshは、異なるレイヤーで異なる動作をします。 Moshを使用すると、サーバーとクライアントの両方が現在の画面状態のスナップショットを維持します。問題は、状態の同期の1つになります。つまり、クライアントを可能な限り効率的に最新のサーバー側画面に移動させることです。
これは、状態同期プロトコルと呼ばれる新しいプロトコルを使用して実現されました 、Moshが最初のアプリケーションです。 SSPはUDP上で実行され、任意のオブジェクトの状態を1つのホストから別のホストに同期します。 OCB3モードでAES-128を使用して暗号化および認証されたデータグラム。 SSPがネットワークプロトコルを処理しますが、プロトコルの最終的なセマンティクスを定義するのは、同期されているオブジェクトの実装です。
Moshは、接続の各方向に1つずつ、2つのSSPのコピーを実行します。クライアントからサーバーへの接続は、ユーザーが入力したキーを表すオブジェクトをTCPのようなセマンティクスで同期します。サーバーからクライアントへの接続は、現在の画面の状態を表すオブジェクトを同期します。目標は、常にクライアントを最新のサーバー側の状態に伝達し、場合によっては中間フレームをスキップすることです。
SSPはオブジェクトレイヤーで動作し、同期の速度(つまり、フレームレート)を制御できるため、アプリケーションから受信したすべてのバイトを送信する必要はありません。つまり、Moshは、ネットワークバッファがいっぱいにならないようにフレームを調整し、接続の応答性を維持し、Control-Cが常に迅速に機能するようにすることができます。すべてのバイトを送信する必要があるプロトコルはこれを行うことができません。
LinuxへのMoshShellのインストール
Debian 、 Ubuntu およびミント 同様のシステムで、モッシュを簡単にインストールできます apt-getパッケージマネージャーを使用したパッケージ
$ sudo apt-get update
$ sudo apt-get install mosh -y
そしてRHEL / CentOS / Fedora ベースのディストリビューションでは、yumパッケージマネージャーを使用してこのリポジトリからmoshをインストールするには、EPELと呼ばれるサードパーティのリポジトリをオンにする必要があります
# yum update
# yum install mosh
Fedora バージョンの場合、moshをインストールするにはdnfパッケージマネージャーを使用する必要があります
# dnf install mosh
Arch / Manjaro Linuxの場合:
# pacman -S mosh
そしてOpenSuseLinuxの場合:
$ sudo zypper in mosh
Gentooについて:
# emerge net-misc/mosh
Mosh Shellを使用するにはどうすればよいですか?
1。 moshシェルを使用してリモートLinuxサーバーにログインしてみてください。
$ mosh [email protected]
パスワードを入力してください
2。 デフォルトのSSHポート22がポート70に変更されたと想定します 、この場合、「 -p」を使用してカスタムポートを定義できます。 「モッシュで切り替えます。
$ mosh [email protected] --ssh="ssh -p 70"
3。 インストールされているMoshのバージョンを確認してください。
$ mosh --version
4。 モッシュセッションタイプ「exit」を閉じることができます プロンプトで。
$ exit
5。 Moshは多くのオプションをサポートしており、次のように表示されます。
$ mosh --help
モッシュに関する注意事項
Moshには追加の前提条件が必要です。たとえば、SSHでは必要とされなかったUDP経由の直接接続を許可します。
60000〜61000の範囲の動的ポート割り当て 。最初の開いている砦が割り当てられます。接続ごとに1つのポートが必要です
デフォルトのポート割り当ては、特に本番環境では重大なセキュリティ上の懸念事項です。
スクロールバックはサポートされておらず、ssh-agent転送もサポートされていません。