sábado, 27 de junho de 2020

Windows 10 Ambiente de Trabalho remoto através de um túnel SSH

A PowerShell do Windows 10 pode ter o cliente de SSH instalado e funcionar tal como num sistema Linux.

Verificar se cliente OpenSSH está instalado

Para se verificar se o cliente OpenSSH está instalado é necessário iniciar a PowerShell como administrador e introduzir o comando:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

Caso seja apresentado Installed é porque está instalado.

No caso de não estar instalado é possível instalar.

Instalar o cliente OpenSSH na PowerShell

Caso seja necessário instalar o cliente OpenSSH é necessário iniciar a PowerShell como administrador e utilizar o comando:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Criar tunnel SSH com Port Forwarding

Na Linha de Comandos ou na PowerShell é possível ligar a um servidor SSH remoto e criar dentro dessa ligação um encaminhamento de porto (Port Forwarding) que permita aceder, por exemplo, a um ambiente de trabalho remoto noutra máquina que esteja na mesma rede remota.


Assim, o cliente precisa de iniciar uma ligação SSH ao servidor SSH no porto 22. De seguida tem que ser criado um porto na máquina cliente ligado ao porto 3389 do servidor RDP e que permitirá utilizar o porto local como se fosse de facto o porto remoto.

Esta abstração é feita com a opção -L do comando SSH onde é possível indicar:
[Porto Local]:[IP da máquina remota que disponibiliza o serviço]:[Porto do serviço]

A opção -N permite que não seja executado qualquer comando na máquina remota, pois apenas é necessário o encaminhamento de portos.

A opção -l permite especificar o nome de utilizador para o servidor SSH.

A opção -p permite especificar um porto diferente para o servidor SSH (caso não seja o porto 22 por defeito).

ssh -N -L 13389:[Windows RDP Server]:3389 [SSH Server] -l [ssh username]




Ligação de Ambiente de Trabalho Remoto ao tunnel

A partir daqui o porto local 13389 será uma ligação direta ao porto 3389 da máquina servidora de RDP. Esta ligação é criada dentro da ligação SSH e é, por isso, encriptada.

Através da Ligação de Ambiente de Trabalho Remoto é possível ligar ao servidor RDP remoto utilizando o porto local:

localhost:13389




Terminar a ligação

Para terminar a ligação resta fechar a Ligação de Ambiente de Trabalho Remoto e pressionar CTRL+C para terminar o comando SSH.


Sem comentários:

Enviar um comentário