RDP do Linux através da cadeia de túneis ssh

1

Estou em um laptop Linux e estou tentando acessar minha estação de trabalho do Windows, que fica atrás de dois servidores Linux (! server1, server2), dos quais apenas o server1 é acessível de fora e somente o server2 pode acessar a estação de trabalho. :

Linux -> server1 -> server2 -> windows:3389

Estou tentando obter uma conexão de área de trabalho remota com a máquina Windows.

Consegui configurar um túnel que pode encaminhar o ssh para o servidor 2, executando no meu laptop:

ssh -f -N -L 2001:server2:22 server1

E conectando por:

ssh -p2001 localhost

Portanto, isso cria um encapsulamento a partir da minha porta local 2001 até o servidor 1 para o server2: 22. Eu também consegui rodar o sftp com isso para poder acessar dados no server2 diretamente de uma janela do gerenciador de arquivos em vez do console usando

sftp://localhost:2001

na linha de endereço.

Ótimo, agora para o próximo nível. Eu corri no server1:

ssh -f -N -L 2222:windows:3389 server2

Isso deve conectar a porta 2222 no Server1 à porta RDP na estação de trabalho. Agora, eu não deveria ser capaz de apenas direcionar meu software RDP (tentei Remmima e KRDC) para Server1: 2222, e acabar com isso? Infelizmente, isso não faz nada (tempo limite de conexões). Remmina tem opções de tunelamento, mas estou completamente confuso sobre se eles podem me ajudar nessa situação.

Então: o que estou errado?

    
por Zak 29.11.2015 / 18:47

1 resposta

3

Now, should I not be able to just direct my RDP software (I tried Remmima and KRDC) to Server1:2222

Não, o ssh vincula o encaminhamento de porta à interface do host local por padrão, portanto a porta não é acessível "de fora".

Você precisa vincular a interface externa, o que tornará seu serviço interno do Windows acessível para todos que virem o servidor1. Isso também precisará alterar a opção GatewayPorts em ssh config no servidor1:

ssh -f -N -L server1:2222:windows:3389 server2

ou você precisa encapsular mais uma vez, diretamente para a sua máquina, por exemplo, como este a partir do seu computador:

ssh -fNL 2222:localhost:2222 server1

e, em seguida, conecte-se ao seu localhost: 2222.

    
por 30.11.2015 / 23:54