Canalize o tráfego yum através de outro servidor via ssh


10

Estou executando um desktop Fedora atrás de um proxy corporativo que está bloqueando o yumtráfego (especificamente *.gze *.bz2). Eu tenho acesso a uma máquina RedHat separada via ssh, que pode baixar o que quiser.

Quando eu faço yum updatee outros comandos yum: É possível rotear esse tráfego para a máquina RedHat para fazer os downloads para mim? Não tenho acesso root na máquina RedHat, mas posso fazer o login e usar o wget para baixar arquivos. Se sim, como?

Respostas:


21

Minha solução foi semelhante à do @ slm, mas usei o SOCKS porque é mais simples e não requer instalação de proxy no servidor ou no cliente.

Execute todos os comandos no computador com acesso restrito.

em yum.confdefinir o proxy da seguinte maneira

proxy=socks5h://localhost:1080

de um tipo de terminal

ssh -D 1080 YOUR_USER@YOUR_SERVER_WITH_FULL_WEB_ACCESS

pressione enter e digite sua senha.

agora, em um terminal separado (não o ssh)

yum update

1
Eu tentei usar a configuração de proxy socks5h no yum.conf, mas o yum reclama que não é http, https ou ftp. (usando Centos6)
gnac 04/11/2015

Minha solução funciona com o Fedora 20 e 21. Cent e Fedora com distribuições similares, por isso é um pouco estranho que não funcione.
jax

Olá, o comando ssh que você mencionou deve ser executado no computador com acesso restrito, certo? Se sim, pergunto-me como o firewall não bloqueará e causará o erro como "ssh: conecte-se ao host YOUR_SERVER_WITH_FULL_WEB_ACCESS porta 22: sem rota para hospedar". YOUR_SERVER_WITH_FULL_WEB_ACCESS é acessível a partir da máquina restrita?
Hei

@ Oi, sim, "YOUR_SERVER_WITH_FULL_WEB_ACCESS" precisa estar acessível em sua máquina. No meu caso - minha internet estava restrita localmente.
jax

4

Você deve poder fazer o proxy do tráfego do YUM pela conexão SSH da seguinte maneira:

  1. adicione ao /etc/yum.confservidor protegido:

    proxy=http://127.0.0.1:8080
    
  2. do servidor com acesso ssh de entrada / saída normal:

    $ ssh -R 8080:ssh.server:8080 user@protected.server
    
  3. No servidor em que você deseja executar os comandos YUM:

    $ yum update
    

Referências


Eu só preciso de alguns esclarecimentos. (Vou me referir à minha área de trabalho do Fedora como desktope ao servidor RedHat com acesso completo ao download como server). Então eu acho que vou precisar fazer proxy=http://127.0.0.1:8080no meu, desktoppois este é o computador que precisa das atualizações do yum e também ssh -R 8080:ssh.server:8080 user@protected.serverno meu desktop. De onde vem a serverconfiguração ou não existe?
JAX

2
Você está perdendo a etapa de executar um proxy HTTP que escuta na porta 8080 diante ssh.server.
Gilles 'SO- stop be evil'

@ Gilles eu preciso do proxy no meu desktopou server? Se não é o servidor não pode instalá-lo, porque eu não tenho acesso root
jax

@jax Você precisa executar o proxy na máquina com a conexão à Internet. Você não precisa executá-lo como root. O Tinyproxy é fácil de configurar (existem muitas alternativas).
Gilles 'SO- stop being evil'

@ Gilles, eu descobri em outro lugar que você pode criar um proxy Socks que aparentemente direciona o tráfego TCP automaticamente. ssh -D 8888 user@serverna área de trabalho, você precisa dizer ao yum para usar este servidor proxy=socks5h://localhost:8888. Então você pode ver algum problema com isso? Isso significaria que eu não preciso instalar nada na máquina servidor, o que é ideal no meu caso, porque é uma máquina compartilhada. Não poderei testá-lo até segunda-feira.
jax
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.