Olá, aqui está uma situação em que tenho um servidor em um data center corporativo para um projeto. Eu tenho um acesso SSH a esta máquina na porta 22. Existem algumas máquinas virtuais em execução neste servidor e, em seguida, na parte de trás de tudo o que muitos outros sistemas operacionais estão funcionando. Agora, como estou atrás do firewall dos datacenters, meu supervisor me perguntou se posso fazer algo pelo qual posso dar a muitas pessoas na Internet acesso diretamente a essas máquinas virtuais. Sei que tenho permissão para obter tráfego na porta que não seja 22, posso fazer um encaminhamento de porta. Mas, como não tenho permissão para isso, o que pode ser uma solução nesse caso. As pessoas que gostariam de se conectar podem ser idiotas completos. Quem pode ser feliz apenas abrindo o putty em suas máquinas ou até mesmo o filezilla.
Eu não tenho firewall em minhas mãos ou qualquer outra porta que não seja 22 aberta e, de fato, mesmo se eu solicitar que elas não permitam abrir. 2 vezes o SSH não é algo que meu supervisor deseja.
fonte
Respostas:
Você deve abrir o túnel ssh do seu computador para o servidor no data center. Vamos nomear isso como "server1". Se você estiver usando o openssh, basta executar
Isso abrirá a conexão do computador na porta 8080 para o servidor, porta 8080, ignorando o firewall no meio. Supondo que seu apache esteja atendendo na porta 8080. O formato de encaminhamento de porta está atendendo IP: porta local: endereço remoto: porta remota. Claro que, para um único servidor, você também pode usar
Observe que o localhost no parâmetro -L é relativo ao server1. Em outras palavras, o servidor está vendo conexões vindas do host local, quando, na verdade, essas vêm do seu computador através da conexão ssh.
Você também precisa de parâmetro
na configuração ssh do servidor (normalmente / etc / ssh / sshd_config).
Depois disso, outras pessoas podem se conectar ao seu computador na porta 8080 para obter conexão via Apache Reverse Proxy. Se você precisar de proxy geral (para que os usuários possam escolher o endereço, não apenas endereços específicos na configuração do Apache), instale o squid no server1 e use o túnel ssh na porta do squid.
fonte
ssh -L0.0.0.0:8080:localhost:8080 you_username@server1
, se a conexão ainda estará passando pela porta 22 do firewall (porque se isso não acontecer, não posso fazer nada) e o túnel ssh será estabelecido entre a máquina local e a máquina remota nas portas especificadas, mas todo o tráfego continuava (porta 22) no firewall.ssh -L0.0.0.0:8080:remote_server_address:8080 you_username@server1
, quero saber o que pode ser colocado como endereço_do_servidor remoto: o IP da máquina interna na qual desejo usar o servidor1 como intermediário. Entendi isso corretamente?Pode ser que você possa usar algo como SshMeIn . É um sistema web de código aberto que cria um túnel ssh através de firewalls, você nem precisa abrir as portas.
fonte