Como configurar um túnel ssh para um servidor web de uma rede interna de fora da rede interna usando o Putty

1

Aqui está minha situação.

  • No trabalho, há uma rede interna.
  • Eu posso acessar a rede de trabalho de casa pelo ssh'ing para uma caixa de linux que enfrenta a internet e a rede interna.
  • A rede de trabalho tem outra caixa linux executando um servidor web.
  • Quero me conectar ao servidor da Web na segunda caixa do Linux com minha caixa do Windows em casa.
  • O servidor da web usa muitos vhosts.
  • Minha rede doméstica usa endereços IP como 192.168.1.1.
  • Minhas redes de trabalho usam endereços como 192.168.0.1.

Eu acho que posso conseguir isso usando túneis ssh, mas não estou claro sobre quais configurações usar no Putty e não sei o que colocar no meu arquivo de hosts para os vhosts.

Obrigado pela ajuda!

    
por camomileCase 04.09.2010 / 21:40

5 respostas

2

Ok ... Isso é muito possível com o Putty, embora não tão fácil quanto com o OpenSSH em uma máquina Linux. Eu recomendaria muito configurar uma chave de identidade SSH e instalá-la nas caixas às quais você está se conectando e usar o agente de encaminhamento de chaves do Agente de Putty (pagent.exe). Dito isto, aqui estão os passos a seguir.

Primeiro, crie um perfil de conexão Putty para sua caixa Linux de trabalho que você pode acessar em casa. Você deseja ter certeza de que, em Connection -> Data , você definiu seu Auto-login username . Em seguida, em Connection -> SSH -> Auth , certifique-se de que Allow agent forwarding esteja marcado. Agora salve este perfil e anote o nome que você chama (ie-work-jumpbox).

Com essa configuração, você agora quer configurar um segundo perfil para a caixa atrás da caixa de salto de trabalho. Configure este perfil com o nome do host / endereço IP e a porta corretos do servidor da Web no escritório. Você então quer ir para Connection -> Data -> Proxy e definir o Proxy Type para local e definir o Telnet command or local-proxy-command to plink -load work-jumpbox -nc %host:%port\n (substitua work-jumpbox pelo nome que você chamou de seu perfil anterior para a caixa linux de trabalho.

Agora salve este perfil (ie-work-webserver) e quando você quiser se conectar a ele, carregue-o e clique conectado, ele deverá logar você no servidor web do escritório depois que ele entrar na caixa de entrada silenciosamente.

    
por 05.09.2010 / 01:02
1

Suponho que seu servidor da Web esteja em execução no endereço 192.168.0.2 na porta 80 na rede da sua empresa.

  1. Abra sua conexão SSH com sua primeira caixa de linux com massa de vidraceiro.
  2. Vá para o menu Conexão > SSH > Túneis .
  3. Insira na caixa de texto Porta de origem a porta 1234 (você pode usar qualquer outra porta, se desejar, desde que ela não seja usada por um serviço local e maior que 1024 se você não é administrador em sua máquina).
  4. No campo Destino , insira o endereço e a porta do seu servidor da Web: 192.168.0.2:80 .
  5. Clique no botão Adicionar

Agora, se você digitar http://localhost:1234/ em seu navegador, deverá obter a página do host virtual padrão do seu servidor da web. Basta adicionar a seguinte linha no seu arquivo de hosts

127.0.0.1 myvhost.com

e você acessará seu site com o seguinte URL no seu navegador http://myvhost.com:1234/

    
por 04.09.2010 / 22:37
0
Primeiro, vá para o putty e configure uma conexão salva no seu servidor ssh no escritório. Digamos que pelo resto das instruções você nomeou "escritório"

Abra uma janela de comando e faça o seguinte, onde X é o último octeto do IP em seu servidor da Web.

putty -L 80: 192.168.0.X: 80 -load office -N

Este comando usa a sessão SSH "office" e mapeia sua porta local 80 para a porta remota 80 do servidor web, encapsulada através do servidor "office".

Agora, se você deseja se conectar a um nome de host específico, convém adicioná-lo à sua tabela de hosts e apontá-lo para seu host local.

hostname1.officewebdomain.com 127.0.0.1

Isso "deveria" fazer isso.

    
por 04.09.2010 / 22:33
0

Use um proxy SOCKS. Abra a janela PuTTY e vá para Conexões- > SSH- > Túneis (pode ser um pouco diferente, pois não tenho acesso a um PuTTY atm). Digite a porta de origem como 8080, selecione as opções Dinâmico e Automático e clique em "Adicionar" (você não precisa de uma porta de destino para dinâmico) e conecte-se ao servidor SSH.

Em seguida, vá para o Firefox Tools - > Avançado - > Rede - > Configurações para configurar como o Firefox se conecta à Internet - > Configuração manual de proxy - > deixe todos os campos em branco, exceto o SOCKS Host, que deve ser localhost na porta 8080. Não defina Proxy para 192.168.1.0/24 e clique em Apply. Tudo, exceto sua rede de internet local, agora deve ser enviado por meio desse servidor.

No Linux, é Editar - > Preferências - > Avançado - > Rede - > Configurações no Firefox.

    
por 04.09.2010 / 23:29
0

Isso pode ser feito com túneis SSH, mas não é uma ótima solução. Essencialmente, ele se decompõe com a passagem de pacotes TCP por uma conexão TCP, o que pode explodir se sua conexão não for perfeita.

Uma abordagem muito melhor seria configurar uma VPN, que usa pacotes UDP e, quando você faz login na VPN, é possível ver a rede da obra como se estivesse conectado ao escritório. O OpenVPN é ótimo para esse propósito, e seu site tem guias muito completos para ajudá-lo a configurar.

    
por 04.09.2010 / 23:24