mosh:リモート作業をモバイル並みに快適に

目次
moshコマンドについての概要と詳細
moshコマンドとは
mosh
(Mobile Shell)は、モバイルや不安定なネットワーク環境下でも快適に使える、次世代のリモートシェルツールです。LinuxやUNIX系OS、macOS、Windows(WSLやCygwin経由)など幅広い環境で利用可能で、SSHと同じようなコマンド体系でリモート接続ができます。ネットワーク切断やIPアドレス変更にも自動で対応し、再接続なしでセッションを維持できるのが最大の特徴です。
主な用途
- 長時間にわたるリモートサーバ管理や開発作業
- 移動中やWi-Fi切替時、低速・不安定なネットワーク環境での作業
- SSHでは切断が気になるケースでの代替利用
主な特徴
- セッション自動復旧:回線切断やIPアドレス変更でも再ログイン不要で同じセッションを維持
- UDP通信による高速応答:TCPではなくUDPプロトコルを利用することで、高速でラグの少ない操作感
- 遅延やパケット損失に強い:不安定なネットワークでも快適なシェル操作が可能
- サーバ側・クライアント側どちらにもインストールが必要
- sshと同じ認証方式:最初の認証はSSHで行うため、安全性も高い
- UTF-8完全対応:多言語の端末や日本語でも安心して利用可能
基本的な使い方
mosh [ユーザー名@]ホスト名(またはIPアドレス)
mosh user@server.example.com
:指定サーバにmoshで接続mosh --ssh="ssh -p 2222" user@host
:特定のSSHポートを利用して接続mosh --server="mosh-server new -s" user@host
:サーバ側のmosh-serverオプションを指定mosh --help
:コマンドラインオプション一覧の表示
主なオプション一覧
オプション | 説明 |
---|---|
--ssh="sshコマンド" | 接続時に用いるsshコマンドの指定(例:--ssh="ssh -p 2222") |
--server="コマンド" | サーバ側mosh-serverの起動コマンドを指定 |
--predict=always|never|adaptive | キーストローク予測の挙動指定 |
--help | オプション・ヘルプを表示 |
インストール方法
RPM系(RedHat, CentOS, Fedoraなど)
$ sudo dnf install mosh
Debian系(Debian, Ubuntuなど)
$ sudo apt install mosh
または公式サイトからバイナリ取得も可能。
サーバ側の注意点
- サーバ側にもmoshのインストールが必要(
mosh-server
) - UDPポート60000~61000番(デフォルト)をファイアウォールで開放する必要あり
- 最初の接続認証にはsshを利用(sshdの動作必須)
まとめ
moshコマンドは、ネットワーク状況が不安定な場所でも快適にリモート作業できる強力な次世代シェルツールです。モバイル利用や出張時、長時間の開発・運用作業でもセッション維持や高速応答性が求められる場合に最適です。SSHの代替や補完として、ぜひ導入を検討してみてください。