faz instalação do programa via ssh tunelling no sistema CentOs

2

Eu tenho uma máquina A sem acesso à internet. Eu tenho uma máquina B com acesso à internet.

A & B pode se conectar entre si via ssh.

Gostaria de fazer algumas instalações de programas em A (perl, pacote R, etc ...) a partir do repositório da Internet usando a conexão à Internet de B.

Isso é possível & e como eu poderia fazer isso?

Obrigado.

    
por ZheFrench 09.10.2014 / 20:08

3 respostas

4

Se A & B estão usando o OpenSSH e, em seguida, em uma janela no host A do:

ssh -D 1080 user@B

para iniciar um proxy SOCKS que escuta em A:1080 e envia conexões para o endereço solicitado por meio de B .

Enquanto essa conexão estiver ativa, você poderá executar outros programas que suportam proxies SOCKSv4 ou SOCKSv5 (isso é diferente de proxies HTTP) em A :

curl -x socks5h://localhost:1080 http://www.google.com/

Você pode tentar definir a variável de ambiente http_proxy como socks5h://localhost:1080 , mas a maioria dos programas provavelmente espera que seja um proxy http real e não pode se comunicar com ele.

Outra opção (possivelmente mais fácil) é apenas baixar tudo no host B , depois usar scp ou sftp para transferir os arquivos para A .

    
por 09.10.2014 / 20:26
3

É possível usar o tunelamento SSH:

No seu servidor de casa:

ssh -R 9999:<proxy host>:<proxy port> user@remotehost

Isso abrirá a porta 9999 em seu servidor remoto e criará um tunel para seu proxy.

No servidor remoto, você precisa editar yum.conf e adicionar o seguinte:

proxy=http://127.0.0.1:9999

Isso se conectará ao proxy usando o túnel que nós instalamos anteriormente.

Se você não tiver nenhum proxy, poderá usar a otimização dinâmica. Ele só funciona se a sua rede não tiver nenhum proxy ativo ou se ele usar proxy transparente.

No servidor remoto:

ssh -D 9999 user@ip-of-local-server

Isso conectará ao seu servidor local, abrirá a porta 9999 e criará um túnel dinâmico. As alterações de yum.conf serão as mesmas.

    
por 09.10.2014 / 20:26
2

Se o sistema A não puder obter os repositórios oficiais, você pode configurar um espelho local no sistema B e usá-lo como seu repositório de instalação / atualização para todos os pacotes.

Um howto detalhado para o CentOS pode ser encontrado em CentOS Wiki

    
por 09.10.2014 / 20:16