- Visão geral
- Convenções de variáveis
- Etapa 1: Instalar o OpenSSH Server
- Etapa 2: Iniciar o serviço e habilitar inicialização automática
- Etapa 3: Configurar o firewall
- Etapa 4: Configurar autenticação por chave (recomendado)
- Etapa 5: Primeira conexão e teste
- Etapa 6: Restrições e reforço de segurança
- Etapa 7: Verificar logs
- Conclusão
Visão geral
Este artigo explica como instalar e configurar o OpenSSH Server no Windows Server. O guia cobre desde a instalação até a configuração de autenticação por chave, serviço e firewall.
Convenções de variáveis
| Variável | Exemplo | Descrição |
|---|---|---|
<<SERVER>> |
192.168.1.10 |
Nome do host ou endereço IP do servidor de destino |
Etapa 1: Instalar o OpenSSH Server
Abra o PowerShell com privilégios de administrador e execute o comando abaixo:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Etapa 2: Iniciar o serviço e habilitar inicialização automática
Após a instalação, inicie o serviço sshd e configure-o para iniciar automaticamente:
# Iniciar serviço
Start-Service sshd
# Habilitar inicialização automática
Set-Service -Name sshd -StartupType Automatic
💡 Observação
Ao iniciar osshdpela primeira vez, os arquivos de configuração e as chaves de host são criados automaticamente:
%ProgramData%\ssh\sshd_config(arquivo de configuração)%ProgramData%\ssh\ssh_host_*(chaves do host)Modifique esses arquivos apenas após serem gerados.
Etapa 3: Configurar o firewall
Permita conexões SSH (porta padrão 22) no firewall do Windows Defender:
New-NetFirewallRule -Name "OpenSSH-Server" -DisplayName "OpenSSH Server (sshd)" `
-Enabled True -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow
Etapa 4: Configurar autenticação por chave (recomendado)
-
Consulte as instruções para geração e configuração de chaves SSH no cliente
-
Adicione a chave pública ao arquivo
authorized_keys:- Para usuários comuns:
%USERPROFILE%\.ssh\authorized_keys - Para administradores:
%ProgramData%\ssh\administrators_authorized_keys
- Para usuários comuns:
-
No servidor, edite o arquivo
sshd_config(geralmente em%ProgramData%\ssh\sshd_config) e confirme os seguintes parâmetros:PubkeyAuthentication yes AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
Etapa 5: Primeira conexão e teste
Conecte-se ao servidor a partir do cliente:
ssh Administrator@<<SERVER>>
Na primeira conexão, o sistema exibirá um aviso sobre a chave do host.
Após o login, use whoami para confirmar o usuário autenticado.
Etapa 6: Restrições e reforço de segurança
Edite o arquivo sshd_config e adicione ou modifique as seguintes configurações:
Port 2222
AllowGroups SSHAdmins
AllowUsers Administrator deployuser
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
Port 2222— alterar a porta padrão reduz o risco de ataques automatizados.AllowGroups SSHAdmins— limita o acesso SSH apenas a grupos autorizados.AllowUsers Administrator deployuser— restringe logins a usuários específicos.PasswordAuthentication no— desativa autenticação por senha, reforçando a segurança.KbdInteractiveAuthentication no— desativa métodos de autenticação interativos.PubkeyAuthentication yes— garante autenticação via chave pública.
ℹ️ Observação
No Windows Server 2025 ou superior, restrições de grupo para conexões SSH são aplicadas por padrão. Em algumas localizações, o grupo “OpenSSH Users” pode não funcionar corretamente.Crie o grupo
SSHAdminse as contas necessárias (deployuser) com privilégios mínimos.
Ative também o registro detalhado de eventos definindo LogLevel VERBOSE no sshd_config.
Etapa 7: Verificar logs
Para revisar os logs recentes no PowerShell:
Get-WinEvent -LogName OpenSSH/Operational `
| Where-Object { $_.TimeCreated -ge (Get-Date).AddHours(-1) } `
| Select-Object TimeCreated, Id, LevelDisplayName, Message
💡 Dica
Liste todos os nomes de logs disponíveis com:
wevtutil el | findstr OpenSSH
Use o nome exibido no parâmetro -LogName.
Conclusão
Com o OpenSSH Server configurado no Windows Server, é possível gerenciar remotamente o sistema de forma segura, assim como em ambientes Linux/Unix. A autenticação por chave e as políticas de firewall garantem uma administração remota robusta e protegida.
