Pular para o conteúdo principal

Guia definitivo para habilitar o SSH no Windows Subsystem for Linux (WSL)

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.

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.


Como o comando não dá retorno, caso queira confirmar execute o 'netsh interface portproxy show v4tov4'


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! :)

Postagens mais visitadas deste blog

Azure Resource Groups - Entenda o que é, aprenda a criar a excluir pelo Portal do Azure e Azure CLI

E aí meus amigos, tudo certinho com vocês? Por aqui tudo bem! Se você chegou até aqui é porque hoje você acordou com vontade de aprender sobre ‘Resource Groups’. O que são os Resource Groups? O ‘Resource Group’ é uma coleção de recursos computacionais no Azure para sejam agrupados logicamente de acordo com a solução, por ambiente, por recursos, por departamento ou por região, ou da forma que faça mais sentido para sua organização, de acordo com padrões ou nomenclaturas adotadas em sua companhia. Eles compartilham as mesmas permissões, ciclo de vida e políticas.  A grosso modo o ‘Resource Group’ pode ser entendido como uma pasta ou um grupo onde você organiza seus recursos computacionais da Azure. É possível ter quantos ‘Resource Groups’ conforme forem necessários. Os ‘Resource Groups’ não possuem subníveis, ou seja, não é possível ter um ‘Resource Group’ dentro de outro ‘Resource Group’. Para criação de recursos computacionais no Azure é necessário associar este recurso que está se...

Tranferindo Arquivos do Windows para o WSL e vice-versa pelo Windows Explorer de um jeito ridiculamente fácil

  Como o título do post diz, 'ridiculamente fácil', nem vou me alongar nas explicações. 😄 No terminal do WSL digite o comando " explorer.exe . ", exatamente assim, com espaço e ponto. Como estou no meu home directory, este será aberto no Explorer e basta arrastar os arquivos pra dentro do Explorer. Pronto, agora a transferência é bem mais simples! Também é possível copiar executando no Explorer " \\wsl$\ " e escolher a distro que está sendo executada no WSL. Até a próxima!