Está a tentar aceder ao seu servidor utilizando chaves SSH, mas é constantemente redirecionado para a autenticação por palavra-passe? Este problema é mais comum do que parece e pode ser identificado nos ficheiros de logs do sistema Linux ou Unix, como o /var/log/secure
ou o /var/log/auth.log
. Aqui está um exemplo de erro registado:
25 Fev 06:36:50 ns5 sshd[26681]: Authentication refused: bad ownership or modes for file /home/utilizador/.ssh/authorized_keys2
Outro exemplo que pode surgir no seu sistema:
24 Mai 18:28:35 servidor-1 sshd[531320]: Connection closed by 192.168.0.10 port 43640 [preauth]
24 Mai 18:28:44 servidor-1 sshd[531322]: Authentication refused: bad ownership or modes for file /home/admin/.ssh/authorized_keys
24 Mai 18:28:44 servidor-1 sshd[531322]: Connection closed by authenticating user admin 192.168.0.10 port 43650 [preauth]
Se está a enfrentar este pesadelo técnico, não se preocupe. Vamos guiá-lo para resolver este problema de permissões que está a impedir o funcionamento das suas chaves SSH. 💻✨
🔑 A Causa do Problema
O erro “Authentication refused: bad ownership or modes for file” ocorre quando as permissões ou a propriedade do ficheiro authorized_keys
(ou diretórios relacionados) estão mal configuradas. A boa notícia é que pode corrigir isso rapidamente ajustando as permissões no seu servidor.
🚀 Como Identificar o Erro nos Logs
Para diagnosticar o problema, utilize os seguintes comandos no seu servidor:
# Logs de autenticação (Debian/Ubuntu)
tail -f /var/log/auth.log
# Logs de autenticação (RHEL/CentOS)
tail -f /var/log/secure
# Logs em sistemas com systemd
journalctl -f -u ssh.service
journalctl -f -u sshd.service
👉 Nota Importante: A partir da versão 3 do OpenSSH, o ficheiro authorized_keys2
foi descontinuado. Certifique-se de que está a utilizar o ficheiro correto, authorized_keys
.
🔍 Diagnóstico de Permissões
Aceda ao servidor pelo modo de emergência (já que o SSH pode não funcionar). Depois, navegue para o diretório .ssh
do utilizador:
cd ~/.ssh/
Liste as permissões do ficheiro authorized_keys
:
ls -l authorized_keys
Exemplo de saída:
-rwxrwxrwx 1 admin admin 512 Mai 24 18:26 authorized_keys
Ou utilize o comando stat
para obter mais detalhes:
stat authorized_keys
Exemplo de saída reformulada:
Ficheiro: authorized_keys
Tamanho: 512 Blocos: 8 IO Block: 4096 ficheiro regular
Dispositivo: 259,1 Inodo: 393225 Links: 1
Acesso: 2024-05-24 18:26:52
Modificação: 2024-05-24 18:26:52
Alteração: 2024-05-24 18:27:54
Certifique-se de que as permissões do ficheiro são exatamente 0600. Caso contrário, ajuste com o comando:
chmod 0600 ~/.ssh/authorized_keys
🛠️ Corrigir Permissões de Diretório
Além das permissões do ficheiro, o diretório .ssh
e o diretório home do utilizador devem ter permissões corretas. Aqui está o que precisa de fazer:
- Verifique as permissões:
ls -ld /home/admin/ /home/admin/.ssh/
Saída esperada:drwxr-xr-x 5 admin admin 4096 Mai 24 18:28 /home/admin/ drwx------ 2 admin admin 4096 Mai 24 18:29 /home/admin/.ssh/
- Caso as permissões estejam erradas, corrija-as:
chmod 0700 /home/admin/.ssh/ chown -R admin:admin /home/admin
✨ Resolver o Erro de Ficheiro Ausente
Se o ficheiro authorized_keys
estiver em falta, siga estes passos:
- Crie o diretório
.ssh
caso não exista:mkdir -p ~/.ssh/ chmod 700 ~/.ssh/ chown admin:admin ~/.ssh/
- Copie a chave pública para o servidor:
ssh-copy-id -i ~/.ssh/sua-chave.pub admin@servidor1
🔒 Segurança Garantida!
Depois de realizar estas configurações, tente novamente o acesso SSH:
ssh admin@servidor1
Agora, deverá conseguir aceder ao servidor sem problemas! 🔐
💡 Conclusão
Ao ajustar as permissões corretamente, resolve-se o erro “SSH Authentication Refused: Bad Ownership Or Modes For File”. Certifique-se de manter as permissões do diretório e dos ficheiros sempre em conformidade para evitar problemas futuros.
Para mais dicas e guias detalhados sobre OpenSSH e Linux, explore os recursos oficiais:
man ssh
man sshd
🚀 Não deixe este problema atrasar o seu trabalho! Corrija-o já e proteja o acesso ao seu servidor como um profissional!