2 minuto(s) de leitura

Esse tutorial irá mostrar como acessar o PowerShell do Windows 11 a partir de uma distro Linux ou do Android utilizando SSH.

Instalar e configurar o OpenSSH Server

01 - Abra o PowerShell como administrador e verifique se o “OpenSSH Server” aparece como “Installed”:

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

02 - Se não estiver instalado, instale-o com o comando abaixo:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

03 - Inicie o serviço SSHD:

Start-Service sshd

04 - Configure o SSHD para que inicie automaticamente com o Windows:

Set-Service -Name sshd -StartupType 'Automatic'

05 - Acesse o PC Windows via SSH de qualquer outro dispositivo da rede local com:

ssh usuario@IP_DO_WINDOWS

Passo opcional 01

Você precisará de uma senha configurada para o seu usuário do Windows para poder acessá-lo via SSH. Se você quiser fazer login no Windows automaticamente (sem pedir senha) e ao mesmo tempo manter a senha do usuário que possibilita o uso so SSH, siga esses 3 passos.

01 - Rode o comando abaixo para alterar a chave do Windows Auto Logon no registro:

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d 1 /f

02 - Agora, rode o comando a seguir substituindo “NomeDoUsuário” pelo seu nome de usuário:

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUsername /t REG_SZ /d "NomeDoUsuario" /f

03 - Por fim, rode o comando abaixo substituindo “SuaSenhaAqui” pela sua senha:

ATENÇÃO: A senha fica salva em texto simples no registro. Faça por sua conta e risco.

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /t REG_SZ /d "SuaSenhaAqui" /f

Revertendo todas essas mudanças:

Desfaça o passo 01:

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d 0 /f

Desfaça o passo 02:

reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUsername /f

Desfaça o passo 03:

reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /f

Passo opcional 02

Se quiser que o SSH acesse diretamente o PowerShell ao invés do CMD, rode o comando abaixo para tornar o PowerShell o novo padrão:

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force

Passo opcional 03

O SSH irá utilizar a porta 22 para se comunicar com os outros dispositivos. Se o SSH não estiver conseguindo acessar o seu Windows a partir de outro dispositivo - é possível que a instalação não tenha criado automaticamente uma regra de Firewall. Se for esse o caso, você pode utilizar o comando abaixo para criar essa regra:

New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

IMPORTANTE

  • Para saber qual é o nome de usuário correto para acessar o Windows via SSH, abra o PowerShell e verifique qual nome aparece no prompt. Esse é o seu nome de usuário. Para confirmar se o nome está correto, você pode utilizar o comando whoami no PoweShell. Se esse nome contiver espaços, utilize aspas no comando de acesso do ssh. Exemplo: ssh "nome sobrenome@192.168.100.1".