Macとかの雑記帳

mosh_00

Mosh(Mobile Shellの略)は、Wi-Fiや3G回線等のモバイル環境に適応した、SSHのようなソフトです。「ローミング可」「接続が断続的であってもOK」「高速なローカルエコー」といった特徴を持っています。

回線の切断や長時間のスリープ後でもセッションが切れることが無く、すぐに作業を再開できます。また、入力が早くてもスクリーンが固まったりしません。

Moshのインストール

※注意:Moshはクライアントの認証等、セキュリティに関する部分はSSHに依存しています。SSH導入済みで接続できる状態が前提になります。

Moshを使うには、サーバー、クライアント機の両方にインストールする必要があります。例によってMacとUbuntuを使って説明していきます。

MacにMoshをインストール

Macの場合インストーラーが用意されていますが…

mosh_01

Mosh: the mobile shell

HomebrewやMacPortsにパッケージがありますので、そっちで入れたほうがいいと思います。

$ brew install mobile-shell
$ sudo port install mosh

Ubuntu10.04~11.10にMoshをインストール

リポジトリを追加してからインストールします。

$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:keithw/mosh
$ sudo apt-get update
$ sudo apt-get install mosh

Ubuntu12.04にMoshをインストール

12.04はリポジトリを追加する必要は無いようです。そのままインストールできます。

$ sudo apt-get install mosh

 

今回の記事では、OS X 10.7.4 Lion と Ubuntu 10.04 を使い…

  1. Mac → Ubuntuに接続。
  2. Ubuntu → Macに接続。

の、両方を設定していきます。

1 Moshを使ってMacからUbuntuに接続

Moshを使う際の特別な設定は「サーバー側の60000~61000のUDPポートを開ける」だけです。サーバーとなるUbuntuで以下を実行します。

$ sudo ufw allow 60000:61000/udp

 

後はクライアント機から以下のような感じで接続できます。

$ mosh hoge.com

 

私の環境では$ mosh サーバ側のアカウント名@サーバのアドレスと入力することで接続できました。

mosh_02

2 Moshを使ってUbuntuからMacに接続

公式サイトのインストーラーを使った場合は、上と同じようなコマンドで良いと思います。HomebrewやMacPortsで入れた場合はmosh-serverのパスを指定してコマンドを実行します。

$ mosh --server=/usr/local/bin/mosh-server アカウント名@アドレス

mosh_04

 

デフォルトでは/usr/bin以下にmosh-serverを探しにいくため、パスを指定しないと接続できないからです。

毎回パスを指定するのが面倒な場合は、下を実行してリンクを貼ったりしてください。

$ sudo ln -s /usr/local/bin/mosh-server /usr/bin/mosh-server

 

コマンドを実行するとMac側に下のような警告が表示されるはずなので、  許可  を選べば接続できるようになります。

mosh_05

 

警告が表示されず接続に失敗する場合

表示されない場合は手動で設定します。システム環境設定 → セキュリティとプライバシー → ファイアウォールと進み  詳細  を開きます。

次に、下を実行してFinderで/usr/local/binを開き、mosh-serverを探しておきます。

$ open /usr/local/bin

 

両方開いたら、mosh-serverをファイアウォールの設定項目にドラッグ&ドロップし、「外部からの接続を許可」にしてみてください。

mosh_03

 

これで接続できるようになると思います。

60000~61000番のポートを開けたくない

60000~61000番のポートを解放しても、1セッションにつき1つのポートしか使いません。大量のポートを解放したくない場合は、-pオプションをつけてポートを指定してしまいます。

$ mosh -p 5050 hoge.com

 

参考リンク:

mosh: MITからモバイル時代のSSH代替品 - karasuyamatenguの日記

Ubuntu Weekly Recipe:Ubuntuでモバイルシェル「Mosh」を使う|gihyo.jp

スポンサード リンク