私のISPは私のホームルーターに192.168.* IPを提供します。建物の主要企業ルーターだけが実際のIPv4 IPを取得しますが、建物のすべてのテナントはそのIPを共有します。彼らはIP転送を行わないので、ポート22が私に転送するように要求することはできません。
Torを使用すると、Torネットワークへのパスを開き、外部からSSH経由でログインできます。しかし、想像できるように、非常に遅いです。同様に、私のSynology NASにはSynologyリモートサーバーへのルーティングがオンになっており、リモートで接続できます。
このトランスポートシステムとは何か、そしてそれを使って自宅のコンピュータを私がレンタルしたVPSサーバー(私の要塞ホストとも呼ばれます)に接続することなく、要塞ホストを介してリモートでSSHに接続できるかどうかを知りたいです。トールを通して。私はTorが好きですが、SSH遅延が私を狂わせます。
答え1
私は最近、モバイルネットワークを介してNATを介してインターネットに接続されたIoTデバイスに接続するために同じことをしました。
私のソリューションはGoogle Cloudのマイクロインスタンスに基づいています。 IPは永続的でなければなりませんserver_ip
。ファイアウォールのルールは必要ないようです。
リモートで接続するローカルデバイスで、次を実行します。
ssh -N -R 5757:localhost:22 <server_ip>
ここで、5757はサーバーで開かれている受信ポートです(すべてのポートにすることができますが、1023より大きくすることはできません)。これはサーバーに指示します。
エンドデバイス(外出中のノートパソコンなど)で、以下を実行します。
ssh -J <server_ip> -p 5757 localhost
次を介して接続されます。ジャンプホスト、SSH接続をホームデバイスからオープン接続に直接ルーティングします。
すべてをより安全でスムーズにするには、以下を使用することをお勧めします。SSHキーベース認証、サーバーまたはホームデバイスから。さらに支援が必要な場合はコメントを残してください。
最後に注意すべき点は、最初のコマンド(ssh -N -R 5757:localhost:22 <server_ip>
)は終了してはならないので、サービスを利用するか、nohup
サービスを通じて実行しなければならないという点である。後者の解決策は私が好む解決策です。私のサービスファイルは次のとおりです。
[Unit]
Description=Reverse SSH to GCL on port 5757
After=network.target
[Service]
Type=simple
User=flynn
ExecStart=/usr/bin/ssh -N -R 5757:localhost:22 <server_ip>
Restart=always
StartLimitInterval=30
[Install]
WantedBy=multi-user.target