開発時に 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 機能により、 Chrome や Safari などの他のアプリで、ポートフォワーディングの設定を継続して利用できる。

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

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