Linuxサーバーがあり、ルーターの背後にあるホームネットワークに配置したいと考えています。外部からこのサーバーにSSH接続する必要がありますが、ルーターにアクセスできないため、ポート転送を設定したくありません。ルーターのIPもわかりません。
私ができることは、Linuxサーバーにプログラムを配置することです。そのため、インターネットに接続しているときは、他のサーバーに常にデータをオンラインで送信するので、そのIPアドレスがわかります。しかし、外部からルーターの背後にあるサーバーにsshする方法はありますか? NATまたはネットワーク接続を維持するソケットのようなものですか?
どうもありがとう
あなたがしたいことは、「Linuxサーバー」から「my_other_server」などの外部の何かまたは両方のサーバーがアクセスできる何かにsshすることです。
Sshリモートポートフォワーディングを使用します。[user@linux_server]$ ssh -R8022:localhost:22 my_other_server.com
説明:my_other_serverに接続し、ポート8022を開いてポート22で転送します。
My_other_server.comからsshでポート8022のlocalhostにアクセスし、トラフィックをlinux_server-> my_other_serverトンネルでlinux_server piggybackingに転送することができます[user@linux_server]$ ssh -p8022 localhost
説明:linux_serverに転送されるポート8022で自分に接続します
最初のlinux_server-> my_other_serverトンネルのドロップアウトで問題が発生した場合は、スクリプトを作成して開いたままにするか、キープアライブ設定を調整するか、autosshを使用します。
ある種のVPNを使用してこれを機能させることができますが、アクセスできないサーバーがアクセスできるサーバーが必要になります。次に、サーバー、PC、ファイアウォールサーバーにOpenVPNをセットアップし、client-to-client
、これで完了です。 http://openvpn.net/howto.html
答えるのに長い時間がかかります。
NAT=の背後にあるサーバーにアクセスする必要があり、コードを記述したくない場合は、以下のツールを使用して、ニーズに合ったものを使用できます。
上記のツールはどちらも、クライアントをインストールするためのLinuxマシンへのアクセス権があることを前提としています。これらの利点のいくつかは次のとおりです。
tmate server を自分の中間サーバー(reverse sshの場合)でホストできるので、個人的にはtmateの方が好きです。
ngrok を使用できます。プロセスは簡単です: