Área de trabalho remota para o servidor através de um computador intermediário

0

Eu tenho acesso a 3 máquinas: A (Windows 8, na qual eu sou administrador), B (antiga distribuição Ubuntu na qual eu sou root), e C (Servidor rodando Ubuntu, no qual eu não sou root).

Eu preciso da área de trabalho remota de A para C. Mas como C está na rede da universidade, eu preciso de alguma forma descobrir uma maneira de passar por B (que também está na rede da universidade). A é meu laptop em casa.

Alguma idéia de como eu poderia fazer isso? Eu pesquisei e parecia que algum tipo de "tunelamento" funcionaria (algo semelhante a isso, mas eu sou novo em tudo isso, então algumas dicas específicas e detalhadas vão ajudar.

Obrigado antecipadamente.

    
por user721975 26.04.2014 / 09:06

1 resposta

0

A melhor maneira de contornar as restrições do firewall é implementar um túnel reverso , o que resolveria todos os seus problemas.

Firewalls são construídos para bloquear conexões de casa para o local de trabalho, mas não vice-versa. Um túnel reverso é uma conexão do trabalho para casa, que é supostamente permanente. Essa conexão permite uma espécie de passeio de volta de casa para o local de trabalho, sempre que você quiser.

Você pode implementar túneis reversos de B e C (ambos os computadores Linux, sem problemas), desde que você tenha um servidor ssh em execução na sua máquina Windows. Eu sugiro que você procure freeSSHd (como o nome indica, é grátis). Uma vez que você tenha configurado em sua máquina Windows, o Google túnel reverso linux , você encontrará muitas explicações.

Outra vantagem dos túneis reversos é que você não é obrigado a usar uma conexão de área de trabalho remota (como o ssh, que ilustrarei abaixo), mas você pode usar o que quiser. Por exemplo, você pode usar VNC em vez de ssh para o passeio em piggy-back, e então você tem uma sessão totalmente gráfica com seu PC de trabalho de casa.

Se você quiser algo rápido e fácil, instale autossh em suas máquinas Linux (é um pacote que verifica se uma dada conexão ssh, no seu caso, o túnel reverso, está ativa, e se não é automaticamente reiniciado), então crie um arquivo chamado, digamos, auto , torne-o executável, coloque esta linha em /etc/rc.local

/home/yourname/path/to/auto

e coloque este texto em auto

 #!/bin/bash

 /usr/lib/autossh/autossh -M 6521 -f -p 22 -2 -N -R 8100:localhost:22 [email protected] -i /home/yourname/.ssh/yourHOMEcryptokey

Agora, em casa, você pode se conectar com:

 ssh -Y yourname@localhost -p 8100 -i /home/yourname/.ssh/yourWORKcryptokey

O primeiro comando usa a porta 6521 em seu computador pessoal para verificar se o túnel reverso funciona. Ele também instrui o seu PC em casa a enviar para a porta 22 do seu PC de trabalho qualquer que seja o seu PC doméstico na porta 8100. O segundo comando tenta abrir uma sessão do ssh consigo mesmo na porta 8100, mas, devido ao que acabei de dizer, esta tentativa de comunicação é automaticamente enviado para o seu trabalho pc na porta 22. Assim, você está fingindo para se conectar ao seu próprio pc em casa, a verdade é que você está se conectando ao seu trabalho pc.

Antes de configurar tudo isso, você deve se conectar (apenas uma vez) sem o autossh do seu PC de trabalho para o seu computador doméstico.

O uso da criptografia não é obrigatório, mas torna a comunicação muito mais segura. Existem bilhões de guias sobre como fazer isso em qualquer sistema operacional no Google.

    
por 26.04.2014 / 11:04