como encapsular a Área de Trabalho Remota do Windows através do ssh usando uma caixa linux?

17

Eu tenho dois servidores físicos na minha rede doméstica, Linux ( 192.168.8.x) e Windows Server 2008 ( 192.168.8.y).

O servidor linux não pode ser acessado de fora pelo ssh em uma porta não padrão (por exemplo, 23008). Como eu estabeleço um túnel RDP permanente através do ssh na caixa do linux? Eu sei que posso usar massa na máquina externa, mas não sei como configurar o sshd na caixa do linux corretamente. Obrigado por todas as dicas!

elsni
fonte

Respostas:

18

Supondo que sua caixa Linux esteja acessível a partir da Internet na 1.2.3.4 na porta 23008, em um sistema externo, eu faria:

external% ssh -p 23008 -L 13389:192.168.8.y:3389 [email protected]

Eu então me conectava ao sistema RDP encaminhado pela porta com

external% rdesktop localhost:13389

Se sua caixa externa não for uma caixa Linux, haverá comandos equivalentes para as ferramentas que você possui; a idéia ainda é a mesma: encaminhar a porta externa 13389 para 192.168.8.y porta 3389 e usar o cliente RDP externo para conectar-se localhost:13389.

Você se refere à configuração correta do sshd da caixa do linux, mas, a menos que você o tenha reconfigurado, a configuração padrão do sshd provavelmente oferecerá suporte a isso.

MadHatter apoia Monica
fonte
Você está certo, pensei em configurar o sshd para encapsular portas específicas. Mas tudo isso é feito com o comando do cliente. (ssh ou massa de vidraceiro no windows). I
elsni
14
ssh -L 3389:<ip of windows server>:3389 <ip of ssh server> -l <ssh user> -N

Supondo que 3389 é a porta em que o RDP está sendo executado E o servidor ssh tem acesso a essa porta, você pode conectar-se ao 127.0.0.1:3389 como se fosse o servidor remoto.

Oneiroi
fonte
o ip do servidor ssh é interno ou externo? As mudanças externas diárias, mas o servidor é dyndns vie acessíveis a partir do exterior
elsni
Nesse caso: os ssh -L 3389:<ip of windows server>:3389 <dydns of ssh server> -l <ssh user> -Nnomes de host podem ser usados ​​no lugar dos ip, supondo que você tenha encaminhamento da porta 22 para o servidor ssh, o que pode ser ruim se usar uma porta diferente e encaminhar que, por exemplo, 1212, use -p 1212 bandeira.
Oneiroi 29/11
<prdp> é a porta rdp no servidor interno do windows <pssh> é a porta do servidor público ssh linux (fora do padrão no meu caso) <ptunnel> é a porta do túnel <ipwserver> é o endereço IP interno do servidor windows. Eu fiz um ssh -L <prdp>: <ipwserver>: <ptunnel> myserver.gotdns.com -l nome_do_usuario -N -p <pssh> correto?
elsni
3

Pode-se também usar o tunelamento ssh interno do cliente de desktop remoto Remmina .

Se você puder ssh para algum servidor linux usando chaves ssh e esse servidor tiver uma porta 3389 (RDP) aberta para pacotes provenientes de sua máquina, você poderá usar a seguinte configuração para o RDP sobre o túnel ssh.

No editor de perfil, configure a guia Básico como para conexão direta. Vá para a guia SSH Tunnel e configure a tunelação assim:


[x] Ativar túnel SSH

(o) Customizado [ip / nome do host do servidor ssh / linux]

Autenticação SSH:

Nome de usuário: [nome de usuário no servidor ssh / linux]

(o) Chave pública (automática)


Usando essas opções, o Remmina abre

ssh -L 3389:[target windows server]:3389 [linux server] -N

e, em seguida, conecta a sessão RDP através desse canal ssh.

Se você efetuar logon no servidor linux usando nome de usuário / senha ou se estiver usando um arquivo de identidade diferente, precisará alterar a seção Autenticação SSH da configuração do perfil.

andrej
fonte