No post anterior, eu mostrei como instalar o Windows Subsystem for Linux (WSL) no Windows 10 de forma simples e rápida.
No meu caso uso dois laptops, sendo um deles para laboratório. Acesso o laptop que uso para laboratório remotamente. Já o fazia com o Remote Desktop e agora com a instância do WSL lá instalada utilizando SSH.
Convenhamos que não é pratico acessar a máquina por RDP para, então, executar os comandos no Linux. Então Por isso vou mostrar o passo a passo de como habilitar o SSH no WSL e conectar nela a partir de outros computadores em sua rede.
Primeiro vamos rodar um 'sudo apt update', para atualizar a lista das versões dos pacotes disponíveis.
Lista de pacotes atualizados, vamos instalar o SSH Server com o comando 'sudo apt install openssh-server'.
Finalizado a instalação do SSH Server, vamos habilitar o bind na porta 22, editando o 'sshd_config', excutando 'sudo nano /etc/ssh/sshd_config'. Neste exemplo estou utilizando o Nano para edição, mas você pode usar o Vi, Vim ou qualquer outro editor que prefira.
Com o editor aberto vamos descomentar, simplesmente tirando o '#', as linhas Port e, caso deseje utilizar outra porta, altere para o número de porta que deseje, como 2222, por exemplo. Neste exemplo vamos seguir com a porta 22.
O ListenAddress em '0.0.0.0', como está na configuração, escuta a porta configurada em qualquer IP configurado no WSL. No exemplo tenho somente um endereço IP, manterei a configuração como está. Mas caso tenha mais de um endereço IP no seu WSL e queira que seja possível conectar em um por SSH em um endereço IP específico, altere esta configuração para o endereço IP que deseja.
Ainda com o editor aberto, localize 'PasswordAuthentication', descomente e altere para 'yes'. Feche o editor apertando 'CTRL+X' e salve o 'sshd_config'.
SSH instalado e configurado, vamos iniciar o serviço utilizando o comando 'sudo service ssh start'.
Vamos pegar o IP do Linux como o comando 'ip a' que está sendo executado no WSL, precisaremos disto no passo seguinte. Também é possível ver o IP pelo comando 'ifconfig' caso tenho o Net tools instalado Linux. A interface deste exemplo é a eth0.
Agora no Windows onde o WSL está sendo executado vamos executar o comando, abrindo o prompt ou PowerShell como Administrador, 'netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=22 connectaddress=172.31.200.74 connectport=22'. O portproxy vai encaminhar todo o tráfego que chegar na porta 22 na máquina que executa o WSL para o endereço IP do WSL. Substitua o '172.31.200.74' pelo endereço IP que você anotou (anotou né?!) no passo anterior.
Agora vamos conectar por SSH no nosso WSL. Utilize o IP da máquina onde roda o WSL, utilizando o formato 'usurio@host'. Neste exemplo vou utilizar o SSH nativo do Windows. Mas você pode utilizar outra ferramenta, como o Putty ou o Windows Terminal, que falaremos em breve.
Agora conseguimos acessar o nosso WSL por SSH remotamente. Divirtam-se! :)