この質問を何度も受けましたが、私の設定は他の人と変わりません。
マイコンピュータはインターネットのない閉じたネットワーク上にあるため、そのコンピュータで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にもあります。
答え2
Jumpstationが「-W」パラメータをサポートしている場合は、ssh
それを接続できます。
ラップトップの場合~/.ssh/config
:
Host 10.144.108.127
ProxyCommand ssh -q user@jumpstation -W %h:%p
ノートブックのコマンドラインから:
ssh -R PORT_WITH_INTERNET:localhost:PORT_WITH_INTERNET [email protected]
また、ラップトップでプロキシを実行し、リモートコンピュータで適切なプロキシ設定を指定する必要があります。
Jumpstation sshが「-W」パラメータをサポートしていない場合(疑わしい)、netcat
Jumpstationを呼び出すか/dev/tcp/...
ペアを開くとcat
回避できます(bashがある場合)。