ウェブサイト検索

Moshシェル - リモートUnix/Linuxシステムに接続するためのSSHベースのクライアント


Mosh(モバイルシェル)は、クライアントコンピュータからインターネット経由でサーバーに接続するために使用されるコマンドラインアプリケーションです。SSHとして使用でき、Secure Shellよりも多くの機能を備えています。

これはSSHに似たアプリケーションですが、追加機能があります。このアプリケーションは、強調表示されたキース・ウィンスタインによってUnix系オペレーティングシステムのために元々書かれ、GNU GPL v3の下でリリースされました。

モッシュの特徴

  1. それはローミングをサポートするリモートターミナルアプリケーションです。
  2. Linux、FreeBSD、Solaris、Mac OS X、Android などの主要なUNIXライクなOSで利用可能です。
  3. 間欠的な接続がサポートされています。
  4. インテリジェントなローカルエコーを提供します。
  5. ユーザーのキーストロークのライン編集がサポートされています。
  6. Wi-Fi、携帯電話、および長距離リンクにおけるレスポンシブデザインと強力な特性。
  7. IPアドレスが変更されても接続を維持します。これは、SSHで使用されるTCPの代わりにUDPを使用します。接続がリセットされたり、新しいIPが割り当てられた際にTCPはタイムアウトしますが、UDPは接続を維持します。
  8. 長い時間が経った後にセッションを再開すると、接続は維持されます。
  9. ネットワーク遅延なし。ユーザーが入力したキーと削除をネットワーク遅延なく即座に表示します。
  10. SSHと同じ古い方法でログインします。
  11. パケットロスを処理するメカニズム。

LinuxにおけるMoshシェルのインストール

Debian、Ubuntu、およびMintなどのシステムでは、以下のようにapt-getパッケージマネージャを使用してMoshパッケージを簡単にインストールできます。

# apt-get update 
apt-get install mosh

RHEL/CentOS/Fedoraベースのディストリビューションでは、yumパッケージマネージャーを使用してこのリポジトリからmoshをインストールするために、EPELと呼ばれるサードパーティのリポジトリを有効にする必要があります。

# yum update
yum install mosh

Fedora 22+ バージョンでは、moshをインストールするには以下のようにdnfパッケージマネージャーを使用する必要があります。

# dnf install mosh

他のLinuxディストリビューションでは、このようにインストールできます。

# pacman -S mosh         [On Arch/Manjaro Linux]
sudo zypper in mosh    [On OpenSuse]
emerge net-misc/mosh   [On Gentoo]

Mosh Shellをどう使いますか?

1. リモートLinuxサーバにmoshシェルを使ってログインしてみましょう。

$ mosh [email 

注意: リモートCentOS 7ボックスでポートが開いていなかったため、接続時にエラーが発生したのを見ましたか。私が実行した迅速ではあるが推奨されない解決策は次のとおりです:

# systemctl stop firewalld    [on Remote Server]

推奨される方法は、ポートを開いてファイアウォールルールを更新することです。そして、定義済みのポートでmoshに接続します。firewalldの詳細については、この投稿を訪れると良いでしょう。

  1. CentOS、RHEL、およびFedoraでFirewalldを構成する方法

2. デフォルトのSSHポート22がポート70に変更されたと仮定します。この場合、moshを使用して'-p'スイッチを使うことでカスタムポートを定義できます。


mosh [email  --ssh="ssh -p 70"

3. インストールされたMoshのバージョンを確認してください。

$ mosh --version

4. プロンプトでモッシュセッションタイプのexitを閉じることができます。

$ exit

5. Moshは多くのオプションをサポートしており、次のように表示される場合があります:

$ mosh --help

モッシュシェルの欠点

  1. Moshは追加の前提条件を必要とします。例えば、SSHでは必要なかったUDP経由の直接接続を許可することです。
  2. 動的ポート割り当ての範囲は60000-61000です。最初に開いているポートが割り当てられます。接続ごとに1つのポートが必要です。
  3. デフォルトのポート割り当ては、特に本番環境では深刻なセキュリティの懸念事項です。
  4. IPv6接続はサポートされていますが、IPv6でのローミングはサポートされていません。
  5. スクロールバックはサポートされていません。
  6. X11転送はサポートされていません。
  7. ssh-agent転送のサポートがありません。

結論

Moshは、ほとんどのLinuxディストリビューションのリポジトリでダウンロードできる素晴らしい小さなユーティリティです。少しの不一致、特にセキュリティの懸念や追加の要件がありますが、ローミング中でも接続を維持できるという機能は大きな利点です。私のおすすめは、SSHを扱うすべてのLinuxユーザーがこのアプリケーションを試すべきだということです。そして、Moshは試す価値があります。

関連記事: