MOSH: 反響、覚書など

まとめ:

  • ロカールエコーや接続再開は快適
  • サーバのfirewallUDPポートを開けなきゃいけないのが面倒
  • セキュリティには未知の不安が残る (下の@m_bird氏のコメント参照)

MOSH紹介したところ大反響だった。反応をまとめてみる。

快適
  • sshからmoshに変えるとレスポンス爆速になった。 @ichyo
  • 入力でもたつかないの素晴らしい @ebith
セキュリティー大丈夫?
  • どうやって安全性を確保しているか見てからにしたいな @hmori
  • udpでちょっぱや☆ ssh代替プロトコル!が話題になってるけど、セキュリティ的に大丈夫なのかな?という不安が。sshは、枯れててセキッキュア!だから皆使うんであって……。 @m_bird
firewall開けなきゃいけないの?
  • mosh気になるけどFW開けるのがちょっとだけ気が引ける。@fujya
その他
  • かなり興味深いけど、肝心なiOS/Android向けのクライアントはまだみたいだね。@dora_kou
    • そう言われてみればそうだな。
  • UDP ってのはあれかな。昨今の回線品質だったら UDP のエラー率が十分低いから、mosh プロトコルのレイヤでエラー訂正しちゃって、速度優先したって事かな。
    • というより移動したりお眠りでTCPの接続が保てないという問題に取り組んでいるんで、どうせ接続が維持できないからstatelessなUDPでやっちゃおってことじゃないかな。
  • SSHが最終的な経路を保護するから、その下層で多少ゴニョゴニョしても大丈夫ってことかな…
    • 最終的な経路はサーバにポートを開けたUDPでauthenticationだけsshでラップしているだと思う。なんで不安が残る。

トラブルシューティング覚書

bash: mosh-server: command not found

Connection to example.com closed.
/usr/local/bin/mosh: Did not find mosh server startup message.

  • 問題:サーバ側にmoshがはいていない
  • 解決: mosh.mit.eduに表示されているやりかたでサーバにmoshをインストール
クライアントが次のような表示でブロックする

mosh: Exiting on user request... (13 s without contact.) [To quit: Ctrl-^ .]

  • サーバ側でUDP 60000-61000を開けなければならない
  • debianだと: sudo ufw allow 60000:61000/udp
ec2でサーバのfirewallに穴あけたのに接続時に次のメッセージでブロックする


...(13 s without contact.) [To quit: Ctrl-^ .]

  • AWS Management Console: Amazon EC2: EC2 Security Groups:
    • quicklaunch-1を選択
    • Inbound タブ
    • Custom UDP Rule メニュー選択
    • Port range: 60000-61000
    • Add Rule クリック
    • Apply Rule Changes クリック
  • 注:"default" security group でやっても駄目だった。
  • 注:Source: のipアドレスを制限した方が安全

上記はあくまでも覚書。このようなトラブルシューティングが自分でできない方はセキュリティーセンシティブなツールはインストールしない方が無難かも。