Configuração de Autenticação SSH por Chave Pública/Privada

1. Objetivo

Este artigo fornece um guia passo a passo para configurar a autenticação SSH por chave em servidores Linux, abordando a geração de chaves, transferência segura e boas práticas de segurança.

 2. Introdução

A autenticação SSH por chave oferece maior segurança ao substituir senhas por um par de chaves criptográficas. A chave privada deve ser mantida segura, enquanto a chave pública é adicionada ao servidor para autenticação.

3. Requisitos

- Acesso ao servidor Linux via SSH.
- Permissões para modificar arquivos de configuração do SSH.
- Terminal Linux/macOS ou PowerShell no Windows.

4. Gerando e Transferindo Chaves SSH

No Linux/macOS:
1. Gere as chaves SSH:

   ssh-keygen -t rsa -b 4096 -C "usuario@dominio.com"

2. Pressione *Enter para aceitar o caminho padrão `~/.ssh/id_rsa` e defina uma senha opcional.

3. Navegue até o diretório onde as chaves foram salvas:

   cd ~/.ssh
   
4. Verifique se os arquivos foram gerados corretamente:

ls

   Os arquivos principais são:

   - id_rsa (chave privada)
   - id_rsa.pub (chave pública)

5. Exiba o conteúdo da chave pública:

   cat id_rsa.pub

6. Copie o conteúdo da chave pública a partir de `ssh-rsa` até `==` (incluindo o comentário, se houver).

7. Adicione a chave pública ao arquivo `authorized_keys`:

echo "conteúdo da chave" >> ~/.ssh/authorized_keys
   ```
8. Ajuste as permissões para maior segurança:

   chmod 700 ~/.ssh
   chmod 600 ~/.ssh/authorized_keys

5. Transferindo a Chave Privada para o Windows
Caso precise acessar o servidor a partir do Windows, transfira a chave privada (`id_rsa`) usando o WinSCP:

1. Abra o WinSCP e forneça as seguintes informações:
   - Protocolo de arquivo: SFTP
   - Nome do host**: Endereço IP ou hostname do servidor
   - Porta: 22 (padrão para SSH)
   - Nome de usuário**: Usuário configurado
   - Senha: Caso esteja configurado com chave, selecione a chave privada adequada

2. Clique em  Login para conectar ao servidor.
3. Navegue até o diretório `~/.ssh`.
4. Caso o diretório `.ssh` não esteja visível, ative a exibição de arquivos ocultos no WinSCP.
5. No painel direito (servidor), localize o arquivo `id_rsa` e arraste-o para o painel esquerdo (máquina local).

6. Testando a Conexão SSH
Edite o arquivo de configuração do SSH para garantir que a autenticação por chave está ativada:

vim /etc/ssh/sshd_config

Verifique se a seguinte opção está definida como `yes`:

PubkeyAuthentication yes

Salve o arquivo e reinicie o serviço SSH:

sudo systemctl restart ssh
sudo systemctl restart sshd

Importante: Antes de desativar a autenticação por senha, teste o acesso com as chaves em todas as máquinas que precisarão de conexão ao servidor, evitando bloqueios acidentais.

7. Convertendo a Chave Privada para Uso com PuTTY
Caso precise utilizar o PuTTY no Windows, será necessário converter a chave privada para o formato `.ppk` usando o **PuTTYgen**:

1. Abra o PuTTYgen (se não estiver instalado, baixe o PuTTY e selecione essa opção na instalação).
2. Clique em **Load** e selecione o arquivo `id_rsa` salvo anteriormente.
3. Clique em Save private key e escolha um local para salvar o arquivo `.ppk`.
   - O programa perguntará se deseja salvar sem senha. Para maior segurança, recomenda-se definir uma senha.

7.1. Conectando-se ao Servidor com o PuTTY
1. Abra o PuTTY e insira o IP ou hostname do servidor no campo Host Name.
2. No menu à esquerda, vá até **Connection > SSH > Auth.
3. Em **Private key file for authentication**, clique em **Browse** e selecione o arquivo `.ppk` gerado.
4. Volte à tela principal do PuTTY e clique em Open.
5. Quando solicitado, forneça o nome de usuário (a senha não será solicitada, pois a autenticação será feita pela chave).


 



 








Comentários

Postagens mais visitadas deste blog

Microsoft Authenticator agora suporta Passkeys: Como ativar e testar

Mudança no Processo de Exclusão de Usuário no Microsoft 365

Microsoft está removendo as permissões "Todos, exceto usuários externos" no OneDrive