iCloudのどこでもMy MacでMosh (mobile shell)を使う
はじめに
iCloudのどこでもMy Macを使うと、こちらで紹介されているように、出先から自宅のMacにSSHでログインできます。今回はさらに「SSHよりも高速」というMoshを、どこでもMy Macで使えるようにします。Moshの仕組みについては、こちらが詳しいです。
Moshのインストール
サーバとクライアントの両方のMacにMoshの最新版をインストールします。Homebrewを使えば簡単です。
$ brew install --HEAD mosh
これでSSHで接続する時と同様にクライアントから
$ mosh hoge@fooMac.999999999.members.btmm.icloud.com
などとすれば、サーバに接続できそうな気がするのですが、
/usr/local/bin/mosh: Could not resolve hostname fooMac.999999999.members.btmm.icloud.com ssh_exchange_identification: Connection closed by remote host /usr/local/bin/mosh: Did not find remote IP address (is SSH ProxyCommand disabled?).
と言われてうまくいきません。そこで、こちらに書かれているようにクライアント側のmosh
コマンドを以下のように修正します。1行加えるだけです。
--- /usr/local/opt/mobile-shell/bin/mosh.orig 2014-12-05 13:18:17.000000000 +1100 +++ /usr/local/opt/mobile-shell/bin/mosh 2014-12-05 13:23:49.000000000 +1100 @@ -36,6 +36,7 @@ use strict; use Getopt::Long; use IO::Socket; +use IO::Socket::INET6; $|=1;
これで
$ mosh -6 hoge@fooMac.999999999.members.btmm.icloud.com
とすれば、サーバに接続できるようになりました。