開発時に Mac でローカルサーバーを立ち上げて、モバイルデバイスで動作確認したい場合はよくあります。
サーバーを 0.0.0.0 で立ち上げると、同一 LAN 内であればプライベート IP アドレス(192.168.0.0/16)を使用してサーバーにアクセスできます。 通常はこの方法で問題ないのですが、セキュリティ設定などにより、localhost のみが許可されていて、プライベート IP アドレスを使うことができない場合があります。
このような場合、iOS デバイスと Mac 間で SSH ポートフォワーディングを確立することで、 iOS デバイスから直接 localhost のアドレスを使って Mac のローカル環境にアクセスできるようになります。
接続手順
1. Mac の共有設定から「リモートログイン」をオンに変更
システム設定から共有設定を開き、「リモートログイン」をオンに変更します。 これにより、Mac に SSH を通じて接続できるようになります
2. iOS デバイスに WebSSH (SSH クライアント) をインストール
App Store から WebSSH をインストールします。 このアプリは、VPN-Over-SSH 機能により、 WebSSH を終了しても Chrome や Safari などの他のアプリでポートフォワーディングの設定を継続して利用できる点が特徴です。

WebSSH を使うと、iOS デバイスから SSH 接続できるようになります。
3. ポートフォワーディングの設定
WebSSH を起動し、以下の手順でポートフォワーディングを設定します:
- Mac の共有設定で確認した以下の情報を入力
- ホスト名
- ユーザー名
- パスワード
- プライベート IP アドレス
- Port Forwarding の設定
- 例:Mac 側で localhost:3000 を使用している場合は
3000:localhost:3000
と入力
- 例:Mac 側で localhost:3000 を使用している場合は
- VPN-Over-SSH を有効化
- この設定により、他のアプリ使用時も SSH トンネルが維持されます

4. ポートフォワーディングの確認
ポートフォワーディングの設定が完了したら、iOS デバイスで WebSSH を開き、 ポートフォワーディングの設定が反映されているか確認します。
