Guia Completo para Configuração de Chaves SSH no Windows e Linux
Gerando a sua chave no Windows
Certifique-se que o Windows já esteja com o OpenSSH instalado. Caso não esteja, siga os passos abaixo:
Instalando o OpenSSH no Windows
- Abra o PowerShell como administrador
- Execute os comandos abaixo, isso irá instalar o OpenSSH Client e Server, além de iniciar o serviço e configurar para iniciar automaticamente:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'
Get-Service -Name ssh-agent | Set-Service -StartupType 'Automatic'Caso haja algum problema nos comandos acima, verifique através da interface gráfica se o serviço foi instalado e se está iniciado, conforme a imagem abaixo:

Gerando a chave
Para gerar a chave ssh no Windows, abra o PowerShell e execute o comando abaixo:
ssh-keygen -t rsa -b 4096O comando acima irá gerar uma chave RSA de 4096 bits. Caso queira gerar uma chave de outro tipo, basta alterar o parâmetro -t para o tipo desejado. Para mais informações, execute o comando ssh-keygen -h.
Você pode obter mais informações no endereço https://learn.microsoft.com/pt-br/windows-server/administration/openssh/openssh_keymanagement.
Adicionando a sua chave privada no Windows
Para adicionar a sua chave privada no Windows, basta executar o comando abaixo no PowerShell:
ssh-add ~/.ssh/id_rsaImplantando a chave no servidor
Para cadastrar a chave no servidor, basta copiar o conteúdo do arquivo id_rsa.pub para o arquivo ~/.ssh/authorized_keys no servidor, você pode fazer isso manualmente ou usando o comando abaixo:
cat ~/.ssh/id_rsa.pub | ssh user@host -p 22 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && systemctl restart sshd"Gerando a chave no Linux Ubuntu
ssh-keygen -t rsa -b 4096 -C "Criar um par de chaves
ssh-keygen -t rsa -b 4096 -C "Copiar a chave pública para o servidor
ssh-copy-id -i ~/.ssh/id_rsa.pub user@hostCopiar a chave pública para o servidor que usar porta diferente de 22
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 2222 user@hostConfigurar o SSH para não pedir senha
Caso você queira que o acesso ao SSH seja exclusivamente por chave, você pode desabilitar o acesso por senha. Para isso, edite o arquivo /etc/ssh/sshd_config e altere a variável PasswordAuthentication e em seguida reinicie o serviço.
vim /etc/ssh/sshd_config
PasswordAuthentication no
systemctl restart sshd