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
Postar um comentário