Mac OS XにはOpenSSHコマンドラインツールスイートが含まれており、特にトンネリングsshに特化しています。トンネリングは、他のプログラムに代わってインターネット上でデータを安全に転送するメカニズムです。トンネリングは2台のコンピュータ間の安全な通信に役立ち、ファイアウォール(他の有用なサービスは許可するがブロックする場合がある)を回避したり、高度な暗号化機能を持たないプログラムに安全な通信を提供したりするためによく使用されます。ssh
残念ながら、OpenSSHトンネルを直接確立するのは複雑です。例えば、Screen Sharing (VNC) をファイアウォール経由でトンネルし、Screen Sharing接続を開始するために私が使用しているコードを以下に示します。
alias ivnc='(sleep 4; open vnc://127.0.0.1:5901) & ssh -C -4 -L 5901:127.0.0.1:5901 inspector'
痛い。
Code Sorcery Workshop の Meerkat は、同じことをより分かりやすく実現します。Meerkat の洗練された Mac インターフェースは、OpenSSH トンネリングをより簡単に利用できるだけでなく、Bonjour 自動検出機能など、数多くの便利な追加機能も提供します。
Meerkat を使用してトンネルを設定するには、まずプログラムのアカウント設定で、接続先のリモートホストのアカウント名とアドレスを指定する必要があります。(sshプログラムは特定の Unix ユーザー名を使用して指定されたサーバーに接続します。)
次に、Meerkat の Assistant を使うか、Tunnel 設定ウインドウの適切なフィールドに入力して、トンネルを作成するために必要な情報を入力します。各トンネルには、リモートコンピュータのアドレスとポートに加えてニックネームが必要です。上記の私の例の VNC トンネルは、「inspector」という名前のサーバ上の VNC (Screen Sharing) サービスへの接続を提供するので、トンネルの名前は「vnc@inspector」にしています。別のローカルポートを選択することもできます。例えば、私の Mac ではポート 5900 が既に使用中なので、This Mac の下のトンネルにはポート 5901 を選択しました。便利なオプションとして、Bonjour を有効にすると、トンネルのサービスがローカル Mac 上の Finder サイドバーの Shared セクションに表示されるようになります。

( [ホスト名] フィールドに、リモート ホストのアドレスである inspector ではなく、localhost を入力したことに戸惑っている方は、あなただけではありません。トンネリングを複雑にしている要因の 1 つは、「ターゲット」がリモートsshサーバー (この場合は、アカウント設定で以前に指定した inspector)の観点から決定されることです。そのため、ほとんどのトンネルでは、[ホスト名] フィールドにlocalhostまたは127.0.0.1が入り、リモート コンピューターは関連付けられているアカウントで指定されます。) sshd
Meerkatは、指定したアプリケーションの起動時に自動的にトンネルを確立することもできます。私はOS Xの画面共有アプリケーションを起動するたびに、画面共有トンネルが自動的に起動するように設定しました。
残念ながら、MeerkatのTunnelセットアップアシスタントは期待していたほど魔法のような機能ではありません。例えば、ポート番号を直接入力するのではなく、iTunesなどのサービス名を選択するだけで済むようになれば、もっと使いやすくなるでしょう。また、「[ホスト名]で画面共有/VNCにアクセスする」「[ホスト名]でiTunesからストリーミングする」「[ホスト名]でIMAPメールにアクセスする」といった、トンネル設定があらかじめいくつか用意されていればさらに便利でしょう。
Meerkatにはmeerkatコマンドラインツールも用意されており、メインの設定ウィンドウからインストールできます。Meerkatのコマンドラインツールが、システム組み込みのコマンドラインツールを実行するMeerkatグラフィカルアプリケーションを駆動するというのは、実に愉快で循環的な皮肉と言えるでしょう。しかし、と は、上記で示した例のようなコマンドよりもはるかにシンプルなものです。sshmeerkat vnc upmeerkat vnc down
Meerkat が役に立つかどうかまだ迷っていますか?Meerkat が役立つかもしれない実際のシナリオをいくつかご紹介します。
- アクセスは提供しているものの、より安全な SSL/TLS バリアントではなく、標準の POP/IMAP/SMTP しか提供していない旧式の ISP にアカウントがある場合
ssh、Meerkat を使用すると、電子メールへの安全なアクセスを提供できます。 - Mac OS Xの画面共有(VNC)機能は、ネットワーク転送の暗号化を提供しますが、これはMac同士の接続時のみ有効です。Linuxサーバーへの安全なVNC接続が必要な場合は、Meerkatが不足しているセキュリティを提供します。
- Bonjour を使用すると、Meerkat は自宅の iTunes ライブラリを職場や外出先から利用できるようになります (自宅の IP アドレスが静的でない場合は、DynDNS または同等のものを使用することもできます)。
このようなシナリオが便利、あるいは興味深いと思われるなら、Meerkatは14日間のデモ版を提供しています。iTunesのストリーミングや、これまでアクセスできなかったサーバーへの接続に成功し、かつ安全であれば、Meerkatは価格以上の価値があります。
最新の Gems 情報を常に入手したいですか? Mac Gems ニュースレターにご登録いただくと、毎週、Gems のレビュー概要がメールで直接受信ボックスへ送信されます。