Eu preciso de uma solução de proxy reverso para SSH

7

Oi, aqui está uma situação Eu tenho um servidor em um data center corporativo para um projeto. Eu tenho um acesso SSH para esta máquina na porta 22. Há algumas máquinas virtuais em execução neste servidor e, em seguida, na parte de trás de cada coisa que muitos outros sistemas operacionais estão trabalhando. Agora, já que estou atrás do firewall do data center, meu supervisor me perguntou se eu posso fazer alguma coisa pela qual posso dar a muitas pessoas acesso à Internet a essas máquinas virtuais diretamente. Eu sei que se eu fosse autorizado a obter tráfego na porta diferente de 22, então eu posso fazer um encaminhamento de porta. Mas desde que eu não estou autorizado isso, então o que pode ser uma solução neste caso. As pessoas que gostariam de se conectar podem ser idiotas completas.Quem pode ser feliz apenas abrindo putty em suas máquinas ou pode ser mesmo filezilla.Eu configurei um Apache Reverse Proxy para redirecionar o tráfego da Internet para as máquinas virtuais nesses hosts.But Eu não estou claro quanto ao SSH o que posso fazer. Então existe algo equivalente a um Proxy Reverso do Apache que pode fazer um trabalho semelhante para o SSH nessa situação.

Eu não tenho firewall em minhas mãos ou qualquer porta que não seja 22 aberta e, de fato, mesmo se eu pedir, eles não permitirão abrir.2 vezes SSH não é algo que meu supervisor deseja.

    
por Bond 26.01.2011 / 05:23

2 respostas

4

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, você pode simplesmente executar

ssh -L0.0.0.0:8080:localhost:8080 you_username@server1

Isso abrirá a conexão do seu computador na porta 8080 para o servidor, a porta 8080, ignorando o firewall no meio. Supondo que o seu apache esteja escutando na porta 8080. O formato de encaminhamento de porta está escutando IP: porta local: endereço remoto: porta remota. Claro que para um único servidor você pode usar também

ssh -L0.0.0.0:8080:remote_server_address:8080 you_username@server1

Por favor, note que o localhost no parâmetro -L é relativo ao server1. Em outras palavras, o servidor está vendo conexões vindas do localhost, quando na verdade elas vêm do seu computador pela conexão ssh.

Você também precisa de um parâmetro

AllowTcpForwarding yes

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ê precisa de um proxy geral (para que os usuários possam escolher o endereço, não apenas endereços específicos na configuração do Apache), você deve instalar o squid no server1 e usar o túnel ssh na porta do squid.

    
por 26.01.2011 / 19:33
0

Pode ser que você possa usar algo como SshMeIn . É um sistema web de código aberto que fará o túnel ssh através de firewalls, você nem precisa abrir as portas.

    
por 15.12.2012 / 14:00