SSHセッションを介してリモートコンピュータにインターネットサービスを提供しますか?

SSHセッションを介してリモートコンピュータにインターネットサービスを提供しますか?

SSHを介してリモート/ホスト(同じネットワーク/ LAN)に接続されているコンピュータはインターネットにアクセスできますが、ホストはアクセスできません。

ホストシステムでアップデートを実行してパッケージをインストールすることは、エージェントをローカルで起動し、それを使用するようにリモートシステムを設定する必要があるため、非常に不便です。

SSHなどでこれを行うより簡単な方法があるかどうか疑問に思います。

私は複雑さを知っていますが、知りたいです。

Emacs経由で使用してくださいplink(重要な場合)。

ベストアンサー1

私たちはインターネットにアクセスできる機械hasinetとそうでない機械を指しますnoinet

SSH接続を確立できる場合~から noinet 到着 hasinet

OpenSSHに組み込まれているSOCKSプロキシを使用すると、これを簡単に実行できます。このコマンドはnoinet受信ポートにSOCKSプロキシを設定します1080

noinet$ ssh -D 1080 hasinet

SSH接続のみを設定できる場合到着 noinet ~から hasinet

SOCKSプロキシでOpenSSHを実行してからhasinetポートを転送できます。これは次のような単一のコマンドできれいに行うことができます(@Patrickに感謝します)。noinethasinet

hasinet$ ssh -D 1080 localhost -t ssh -R 1080:localhost:1080 noinet

SOCKSプロキシの使用方法

このプロキシの使用方法はアプリケーションによって異なります。一部のアプリケーションは組み込みSOCKSプロキシをサポートしています。この場合、アプリケーションをonに設定する必要がありますlocalhost:1080。そうでない場合は、@sciurusが提案したようにプロキシチェーンまたはredsockを使用できます。靴下特定のコマンドに対してのみネットワークアクセスが必要な場合、これはより軽いソリューションです。

おすすめ記事