SSH経由でリモートコンピュータにインターネットサービスを提供しますか? [閉鎖]

SSH経由でリモートコンピュータにインターネットサービスを提供しますか? [閉鎖]

この質問を何度も受けましたが、私の設定は他の人と変わりません。

マイコンピュータはインターネットのない閉じたネットワーク上にあるため、そのコンピュータでsudoを実行できます。ただし、ラップトップからリモートコンピュータに直接接続することはできません。 Linux経由でサーバーをジャンプする必要がありますが、ジャンプサーバーにroot権限がありません。 SSH経由でのみジャンプサーバーに接続でき、SSH経由でリモートコンピュータに再接続できます。

他のポートを開けません。すべてのアップデートやソフトウェアのインポートがスムーズに行われるように、ノートパソコンのインターネット接続をリモートコンピュータと共有する方法。

現在サーバーをジャンプするためにインターネットに接続している場合は、次のコマンドを使用してリモートコンピュータと共有できます。

ssh -R PORT_WITH_INTERNET:localhost:PORT_WITH_INTERNET [email protected]

答え1

使用sshuttle、どの:

貧しい人々のVPNとして機能する透明なプロキシサーバー。 SSH経由で渡します。管理者は必要ありません。 LinuxとMacOSで利用可能です。 DNSトンネリングをサポートします。

中間コンピュータにPythonがインストールされている場合は、sshuttleSSH接続を介してすべてのトラフィック(または選択したトラフィック)を転送するようにローカルコンピュータに接続し、独自に転送して設定します。

もう一つの利点は、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」パラメータをサポートしていない場合(疑わしい)、netcatJumpstationを呼び出すか/dev/tcp/...ペアを開くとcat回避できます(bashがある場合)。

関連情報