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

[Linux] Alterando o nome do computador pelo terminal

 E ai meus amigos, tudo bem? Vamos para mais uma dica do pinguim. 🐧 Para renomear o computador pelo terminal é bem simples. Primeiro, edite o arquivo ' /etc/hostname ' no seu editor favorito. Mais uma vez eu vou usar o nano aqui. Com o editor aberto, altere o nome atual, neste caso é o 'ip-172-31-42-238'. Altere para o nome desejado, no meu caso vou alterar para o nome ' lab '. Em seguida salve o arquivo e saia do editor. Agora, edite o ' /etc/hosts ', substituindo qualquer entrada do nome antigo pelo novo nome. E por último, execute o comando, com superusuário, o comando ' hostname novo-nome-do-computador ', neste exemplo o nome é lab , então: ' hostname lab '. Para confirmar que o nome foi alterado, executei novamente o comando ' hostname '. Pronto, se você abrir mais uma sessão SSH seu computador já estará com o novo nome configurado. Fácil não?! :) Até breve para novas dicas.

[Resolvido] Intalação do Ubuntu Server 20.04 empacado em 'curtin command in-target'

  Sim, eu sei, a imagem tem marca d'água. Sabe porque? Por que acabou o dinheiro! 😆 É meus amigos, criei ambientes de testes como se não houvesse amanhã, com instâncias parrudas, usando uma dessas instâncias como ambiente de desenvolvimento. Os objetivos do lab e as atividades subsequentes foram devidamente entregues, mas a conta do meu descontrole tecnológico chegou e quase que tive um troço quando vi a fatura. Decidi trazer meu labs aqui para o meu datacenter, também conhecido como note velho, mas parrudo, que já tá fazendo hora-extra.   Estava instalando o Ubuntu Server no Hyper-v e a instalação empacou no ' curtin command in-target' , quase lá nos finais da instalação. Tentei em outro hypervisor e tive o mesmo resultado. Duas tratativas são possíveis:  desabilite a placa de rede durante a instalação; ou tenha saída para a internet, no caso utilize uma bridged adaptor (ou external, o nome varia de acordo como hypervisor).  Aparentemente o instalador tenta fazer um '

[Passo a Passo] Instalando o Gradle 7.2 no Windows

  O Gradle é uma ferramenta de automação de builds conhecida por sua flexibilidade e automação para criação de aplicações. O processo de build inclui complilação e empacotamento do código. Além disso o Gradle é capaz de automatizar builds em variadas linguagens, como Java, Kotlin, Groovy, Scala, Swift e C++.  Ao contrário do Maven e do Ant, que utilizam o XML para configuração e construção do build, o Gradle utiliza scripts escritos em Groovy, permitindo o build, testes e deploy em diversas plataformas. Sem mais delongas, vamos seguir com a instalação. Antes de começar a instalação, o óbvio precisa ser dito. Presumo que você chegou aqui por que já desenvolve em Java ou quer desenvolver, então tem o JRE ou JDK (que traz o JRE) instalado. Caso não tenha o JRE (Java Runtime Environment) instalado, baixe em https://www.java.com/pt-BR/download. Agora vamos baixar o Gradle em https://gradle.org/releases/. O último relase no momento desse post é a 7.2. A opção que escolhida, e como a própria