この質問を何度も受けましたが、私の設定は他の人と変わりません。
マイコンピュータはインターネットのない閉じたネットワーク上にあるため、そのコンピュータでsudoを実行できます。ただし、ラップトップからリモートコンピュータに直接接続することはできません。 Linux経由でサーバーをジャンプする必要がありますが、ジャンプサーバーにroot権限がありません。 SSH経由でのみジャンプサーバーに接続でき、SSH経由でリモートコンピュータに再接続できます。
他のポートを開けません。すべてのアップデートやソフトウェアのインポートがスムーズに行われるように、ノートパソコンのインターネット接続をリモートコンピュータと共有する方法。
現在サーバーをジャンプするためにインターネットに接続している場合は、次のコマンドを使用してリモートコンピュータと共有できます。
ssh -R PORT_WITH_INTERNET:localhost:PORT_WITH_INTERNET [email protected]
ベストアンサー1
使用sshuttle
、どの:
貧しい人々のVPNとして機能する透明なプロキシサーバー。 SSH経由で渡します。管理者は必要ありません。 LinuxとMacOSで利用可能です。 DNSトンネリングをサポートします。
中間コンピュータにPythonがインストールされている場合は、sshuttle
SSH接続を介してすべてのトラフィック(または選択したトラフィック)を転送するようにローカルコンピュータに接続し、独自に転送して設定します。
もう一つの利点は、TCPに反対するのではなく、TCPと連携しているため、接続を介して正しいパフォーマンスが得られることです。一般的なSSHトンネルはパケット損失がないため、スケーラビリティが低下する傾向があります。
目的のタスクを実行するために直接使用できます。
sudo sshuttle --dns -r user@jump 0/0
これにより、SSHを介してuser@jumpに接続し、その接続を介してすべてのトラフィックとすべてのDNS要求が転送されます。リモートシステムでは、どの設定も実行する必要はなく、ローカルシステムに対する管理権限のみが必要です(パケットフィルタリングルールの設定)。
sshuttle
一部のディストリビューション用にパッケージ化されていますが、ローカルでのインストールは非常に簡単です。Gitリポジトリ標準のPythonsetup.py install
プロセスを使用します。使用している場合はPyPIにもあります。