Tunelando o servidor web local através do SSH

1

Gostaria de acessar meu webserver local http://192.168.0.186:3000 quando não estiver em casa. Eu não quero publicá-lo na internet, porque não acho que seja seguro quando você não é especialista em manutenção e segurança. Uma vez eu fiz isso com um servidor Apache usando dyndns, e no mesmo dia os logs estavam cheios de tentativas de hackers. Eu percebi que algo está errado, quando recebi uma mensagem do sistema operacional que C: / está cheio.

O que eu pensei é usar um túnel SSH. Então eu suponho que preciso de um servidor SSH em execução em uma máquina local. Eu já tenho um: 192.168.0.186:22 . Eu uso para me conectar com ssh [email protected] do git bash. Eu acho que eu tenho que abrir a porta 22 no firewall do roteador também, então eu serei capaz de acessar o servidor SSH pela internet.

Nas máquinas clientes eu tenho o Windows 7, Windows 8.1 e Fedora 23 atualmente. No Windows eu gostaria de usar o git bash ou algo assim em vez de putty, se isso for possível. Gostaria de executar automaticamente tudo relacionado a isso em segundo plano, portanto, iniciar o putty toda vez que eu quiser conectar-me ao servidor doméstico não é uma opção. Eu posso escrever um serviço de plano de fundo simples para os clientes, se necessário.

Minhas perguntas:

  1. Como posso configurar o servidor SSH para encaminhar as solicitações HTTP para o servidor da Web local?
  2. Como posso configurar o navegador para usar o servidor SSH para se conectar ao servidor da Web local?
  3. Para tornar isso mais seguro, devo criar um novo usuário do Linux em 192.168.0.186 com permissões limitadas dedicadas a essa responsabilidade?
por inf3rno 23.02.2016 / 03:36

1 resposta

1

Veja o encaminhamento de SSH Veja encaminhamento de porta local em ssh.

ssh -L 3000:internalip:3000 ext.home.ip.addr

Isso abrirá uma porta local 3000 que mapeia para o seu servidor em 3000. Você o acessa indo para o link na máquina que iniciou o ssh conexão

Você também precisará fazer o encaminhamento de porta em seu roteador para mapear o endereço IP externo para o endereço IP interno da porta 22 e, presumivelmente, publicá-lo usando o DNS dinâmico. Infelizmente isso tem o efeito líquido de abrir o SSH para o mundo e é indesejável. Também não o ajuda em caixas de massa ( mas você pode fazer algo semelhante com massa )

Se eu estivesse fazendo isso, eu estaria configurando um sistema OpenVPN no meu roteador doméstico e usando o OpenVPN para conectar sistemas externos à LAN - isso protege o tráfego da porta 22 e não requer o uso de SSH. . É também muito mais fácil de automatizar, e existem clientes OpenVPN para a maioria dos sistemas operacionais.

    
por 23.02.2016 / 04:14