🔐 Como Configurar Acesso SSH sem Senha Usando GitHub para Armazenar suas Chaves Públicas
Este tutorial mostra como configurar o acesso SSH sem senha, usando um repositório do GitHub para armazenar e clonar as chaves públicas. Assim, qualquer dispositivo autorizado pode acessar facilmente o servidor sem precisar digitar senha.
---
🖥️ Passo 1: Gerando a Chave SSH na Máquina de Origem
Primeiro, você precisará gerar uma chave SSH na máquina de onde fará o acesso. A chave pública gerada será armazenada no GitHub, para que você possa cloná-la nas máquinas que quer autorizar.
1. Abra o terminal e use o comando abaixo para gerar sua chave SSH (escolha as opções padrão quando solicitado):
ssh-keygen -t rsa -b 4096 -C "seu_email@example.com"2. 🔑 A chave pública será salva no arquivo `~/.ssh/id_rsa.pub`. Essa é a chave que você irá compartilhar.
3. Exiba o conteúdo da chave pública para copiá-la para o GitHub:
cat ~/.ssh/id_rsa.pub📋 Copie o conteúdo completo do arquivo exibido.
---
🌐 Passo 2: Criando o Repositório no GitHub para Armazenar a Chave
1. Vá ao GitHub e crie um novo repositório privado chamado `mypubkeys`.
2. No repositório, crie um novo arquivo chamado `authorized_keys` e cole a chave pública copiada no passo anterior. Este será o arquivo com todas as chaves autorizadas.
---
📥 Passo 3: Configurando o Acesso no Servidor de Destino
Agora que você configurou o GitHub para armazenar a chave, vamos configurar o servidor de destino para autorizar o acesso.
1. Faça login no servidor onde você deseja configurar o acesso SSH sem senha.
2. 🗂️ Crie o diretório `.ssh`, se ele ainda não existir:
mkdir -p ~/.ssh3. Clone o repositório `mypubkeys` na pasta `.ssh`:
git clone https://github.com/seu_usuario/mypubkeys.git ~/.ssh/mypubkeys4. Copie o arquivo `authorized_keys` para a pasta `.ssh`:
cp ~/.ssh/mypubkeys/authorized_keys ~/.ssh/authorized_keys5. 🔒 Ajuste as permissões para garantir a segurança da chave:
chmod 600 ~/.ssh/authorized_keys chmod 700 ~/.ssh---
⚙️ Passo 4: Configurar o SSH para Acesso com Chave
1. Para garantir que o servidor aceite somente conexões por chave, desative a autenticação por senha.
2. Abra o arquivo de configuração do SSH com o comando:
sudo nano /etc/ssh/sshd_config.d/50-cloud-init.conf3. 🔧 Altere ou adicione a linha `PasswordAuthentication` para `no`, deixando-a assim:
PasswordAuthentication no4. Salve e feche o arquivo.
5. ♻️ Reinicie o serviço SSH para aplicar as alterações:
sudo systemctl restart ssh---
🎉 **Conclusão**
Agora, sempre que quiser adicionar uma nova chave pública, basta adicioná-la ao repositório `mypubkeys` no GitHub e atualizar o repositório no servidor com:
cd ~/.ssh/mypubkeys && git pull🚀 Essa configuração permite que você autorize novos dispositivos rapidamente, sem precisar configurar cada chave manualmente no servidor.


