Como ssh um computador que está por trás do firewall

1

Considere que tenho três computadores

  1. home meu computador em casa
  2. work meu computador no trabalho
  3. server meu servidor

Não consigo me conectar de home a work usando ssh por causa do firewall da minha empresa. Mas eu posso ssh qualquer computador do trabalho. Por exemplo, eu posso ssh o computador do servidor do trabalho. O que quero fazer é conectar-me à Internet usando a work connection (desejo acessar localhost do computador de trabalho). Eu li de algum material que eu posso fazer:

woork:~# ssh -D 4096 server

Mas isso só me permite conectar-me à Internet usando o servidor. Eu quero fazer o inverso disso, mas não consigo acessar work de server .

O resultado final é abrir o firefox em home e navegar até localhost de work .

Qual é a solução para o meu caso?

    
por Hunsu 19.10.2015 / 15:40

2 respostas

0

Suponha que você tenha

work:~#

home:~#

E o trabalho: ~ # é o firewall que você não pode controlar

Quando você escreve o servidor, eu vejo do contexto (servidor ssh -D 4096), que você quer dizer servidor SSH. (e não, por exemplo, servidor VNC). Você deve especificar realmente, é mais claro. Normalmente, se você tiver um servidor SSH, ele estará em trabalho ou em casa. Deve estar no computador com o firewall que você pode controlar, isto é, o Home.

Normalmente, você também tem um servidor comum que deseja alcançar e normalmente não é um servidor SSH. Embora possa ser, há uma pergunta com um ótimo exemplo de onde se pode querer que seja.

Talvez você possa explicar mais qual servidor: ~ # é, mas eu vou ignorá-lo enquanto isso não for necessário e não está claro o que você quer dizer com isso, porque se você tem um servidor SSH, por exemplo, no trabalho, então você teria um trabalho rápido: ~ #

Então o que você faz é

Do que você não pode controlar, ou seja, trabalho, você faz uma conexão de saída. porque o firewall os libera.

home:~# START VNC server on e.g. 5901

home:~# START SSHD SERVER on e.g. port 80 <-- whatever the command is to start your sshd.

work:~# ssh -R 1234:127.0.0.1:5901 user@homeip -p 80

home:~# vncviewer 127.0.0.1:1234 

Página inicial vê o trabalho.

realmente os switches a saber para SSH são -L, -R e -D

E se você estiver conectando o programa cliente à porta de escuta de forma que o programa cliente esteja em uma máquina diferente da porta de escuta, ele precisará ser -R *:1234:127.0.0.1:5901 ou 0.0.0.0:1234:127.0.0.1:5901

Embora tenha em mente que é para algo como VNC, mas se você fez isso por HTTP você só seria capaz de ver um site. Há -D que, como você vê, é local.

Algumas pessoas estão em casa e querem acessar um servidor no trabalho, e esse servidor está protegido por um firewall que não controla.

Mas se você quiser acesso à internet, então você está no trabalho, querendo acessar um servidor em casa ...

Por que você não pode fazer isso?

Tente executar o servidor SSHD na porta 80 ou porta 443 em casa e faça work~:#ssh homeip -p 443

    
por 19.10.2015 / 16:24
0

Se você puder configurar uma conexão ssh de saída, provavelmente poderá configurar um túnel reverso para voltar (não estou ciente de que existe uma maneira de a TI proibir isso, mas você nunca sabe).

work:~# ssh -fN -R 22:server:2222

Em seguida, no servidor, você pode fazer isso:

server:~# ssh -p2222 localhost

E você será magicamente conectado à porta do servidor SSH na sua máquina de trabalho. Por padrão, a porta 2222 está vinculada apenas ao endereço "localhost", portanto, as solicitações de conexão de home não funcionarão :

home:~# ssh -p2222 server  ;# this will not work

Em vez disso, você pode fazer isso:

home:~# ssh server
server:~# ssh -p2222 localhost

ou ambos em um comando como este:

home:~# ssh -o ProxyCommand="ssh -W localhost:2222" server

Para facilitar tudo isso, adicione isso ao seu .ssh/config em casa:

Host work
    ProxyCommand ssh -W localhost:2222
    HostName server

... e agora:

home:~# ssh work

... fará a coisa certa.

É possível criar a ligação de encadeamento reversa para que o negócio de proxy não seja necessário, mas todos os hackers do mundo também farão uso do seu túnel (a porta 2222 não é padrão e, portanto, a segurança é ingênua). As tentativas de acesso com falha aparecerão nos logs do "trabalho", a TI descobrirá e você será demitido. Claro, o túnel sozinho é provavelmente uma ofensa, mas não há necessidade de torná-lo óbvio.

    
por 21.10.2015 / 16:54