sshを介して別のサーバーを介してyumトラフィックをトンネルする


10

yumトラフィックをブロックしている企業プロキシの背後でFedoraデスクトップを実行しています(具体的には*.gzおよび*.bz2)。好きなものを何でもダウンロードできるssh経由で別のRedHatマシンにアクセスできます。

実行時yum updateおよびその他のyumコマンド:そのトラフィックをRedHatマシンにルーティングして、ダウンロードを実行することは可能ですか?RedHatマシンにはrootアクセス権がありませんが、ログインしてwgetを使用してファイルをダウンロードできます。もしそうなら、どうですか?

回答:


21

私のソリューションは@slmのソリューションに似ていましたが、代わりにSOCKSを使用しました。これは、SOCKSがよりシンプルで、サーバーまたはクライアントにプロキシをインストールする必要がないためです。

アクセスが制限されたコンピューターですべてのコマンドを実行します。

yum.confセットプロキシは、以下のように

proxy=socks5h://localhost:1080

端末タイプから

ssh -D 1080 YOUR_USER@YOUR_SERVER_WITH_FULL_WEB_ACCESS

Enterキーを押してパスワードを入力します。

今、別のターミナル(sshではない)タイプ

yum update

1
私はyum.confでsocks5hプロキシ設定を使用しようとしましたが、yumはhttp、https、またはftpではないと不平を言っています。(Centos6を使用)
gnac 2015年

私のソリューションはFedora 20および21で動作します。CentおよびFedoraは同様のディストリビューションであるため、動作しないのは少し変です。
jax 2015年

こんにちは、あなたが言及したsshコマンドは、アクセスが制限されたコンピューターで実行する必要がありますか?「はい」の場合、ファイアウォールがブロックせず、「ssh:ホストYOUR_SERVER_WITH_FULL_WEB_ACCESSポート22:ホストへのルートがありません」のようなエラーが発生しないのではないかと思います。YOUR_SERVER_WITH_FULL_WEB_ACCESSは制限されたマシンから到達可能ですか?
ヘイ

@Heiはい、「YOUR_SERVER_WITH_FULL_WEB_ACCESS」はマシンからアクセスできる必要があります。私の場合-私のインターネットはローカルで制限されていました。
jax

4

次のように、SSH接続を介してYUMのトラフィックをプロキシできるはずです。

  1. /etc/yum.conf保護されたサーバーのに追加します。

    proxy=http://127.0.0.1:8080
    
  2. 通常のインバウンド/アウトバウンドSSHアクセスを持つサーバーから:

    $ ssh -R 8080:ssh.server:8080 user@protected.server
    
  3. YUMコマンドを実行するサーバーで:

    $ yum update
    

参考文献


いくつかの説明が必要です。(私はFedoraデスクトップをdesktop、完全なダウンロードアクセス権を持つRedHatサーバーをと呼びますserver)。これは、yumの更新を必要とするコンピューターであり、自分でも行う必要があるためproxy=http://127.0.0.1:8080、自分で行う必要があると思いdesktopます。構成はどこにあるのですか、それともありませんか?ssh -R 8080:ssh.server:8080 user@protected.serverdesktopserver
jax 2014

2
のポート8080でリッスンするHTTPプロキシを実行する手順がありませんssh.server
Gilles 'SO-邪悪なことをやめなさい'

@Gilles私は私の上にプロキシが必要なのですdesktopserver?サーバーがない場合は、ルートアクセス権がないためインストールできません
jax

@jaxインターネット接続のあるマシンでプロキシを実行する必要があります。rootで実行する必要はありません。Tinyproxyは簡単にセットアップできます(多くの選択肢があります)。
Gilles「SO-邪悪なことをやめなさい」2014

@ギレス、私は他の場所でTCPトラフィックを自動的にルーティングするSocksプロキシを作成できることを発見しました。ssh -D 8888 user@serverデスクトップでは、このサーバーを使用するようにyumに指示する必要がありますproxy=socks5h://localhost:8888。これで何か問題が見られますか?これは、サーバーマシンに何もインストールする必要がないことを意味します。これは、共有マシンであるため、私の場合には理想的です。月曜日までテストできません。
jax
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.