ポート22を介してのみ外部世界にアクセスできるサーバーがあります(サーバーから別のシステムとしてSSHを使用している場合)。
apt-get
このサーバーを介していくつかのパッケージをインストールしたいと思います。
すべてのポートからインターネットにアクセスできるスーパーマシンへのSSHトンネリングを介してこれを達成できますか?
それでは、どうすればいいですか?これは、SSHを介してスーパーマシンへのトンネルを開始すると、スーパーマシンのSSHDがポート22で待機するためです。トンネルに同じポート22を再利用できないとします。そうですか?
他の解決策がありますか?
答え1
sshocksプロキシを介して実行してみてください:
echo 'Acquire::socks::proxy "socks://localhost:3128/";' | sudo tee -a /etc/apt/apt.conf
ssh -CND localhost:3128 [email protected]
他の端末セッションで:
sudo apt-get whatever you need
答え2
他のものは救えません。回答働く
クライアントネットワークにRaspberry Piがあり、ポート80をブロックします。だから私のコンピュータにpolipo(ソックス/httpプロキシ)をインストールし、そのラズベリーパイからsshを介して接続し、polipo-proxyのトンネルを作成しました。
polipoをインストールするには(私はUbuntu 16.04システムで使用しています):
sudo apt install polipo
これは127.0.0.8123で実行され、これは私たちのニーズには十分です。トンネルを開いている間にリモートシステムに接続します。
ssh -R 8123:localhost:8123 myuser@client_maschine02
apt
これでプロキシを使用するように指示する必要があります。私はこのコマンドを使ってこれを行います。
echo 'Acquire::http::proxy "http://localhost:8123";' | sudo tee -a /etc/apt/apt.conf.d/proxy.conf
これで、いつものようにaptを使うことができます。