Affected versions: Ubuntu 24.04 LTS

📖 ~1 min read

Table of contents
  1. Symptom & Impact
  2. Environment & Reproduction
  3. Root Cause Analysis
  4. Quick Triage
  5. Step-by-Step Diagnosis
  6. Solution – Primary Fix
  7. Solution – Alternative Approaches
  8. Verification & Acceptance Criteria
  9. Rollback Plan
  10. Prevention & Hardening
  11. Related Errors & Cross-Refs
  12. References & Further Reading

Symptom & Impact

Key-based SSH authentication fails and users cannot log in.

Environment & Reproduction

Often appears after copying home directories or restoring backups.

ssh -v user@host
sudo systemctl status ssh
ls -ld ~/.ssh

Root Cause Analysis

OpenSSH rejects keys when ownership or file permissions are too permissive.

Quick Triage

Check permission chain from home directory to authorized_keys.

namei -l ~/.ssh/authorized_keys
stat ~/.ssh ~/.ssh/authorized_keys
sudo tail -n 80 /var/log/auth.log

Step-by-Step Diagnosis

Inspect effective sshd settings and auth log decisions.

sudo sshd -T | grep -Ei 'pubkeyauthentication|authorizedkeysfile'
ls -la ~/.ssh
sudo journalctl -u ssh -n 100
Illustrative mockup for ubuntu-24-04-lts — terminal_or_shell
SSH permission checks — Illustrative mockup — Progressive Robot

Solution – Primary Fix

Apply strict permissions and restart ssh service.

Still having issues? Our IT Solutions & Services team can diagnose and resolve this for you. Get in touch for a free consultation.

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chown -R $USER:$USER ~/.ssh
sudo systemctl restart ssh
Illustrative mockup for ubuntu-24-04-lts — logs_or_journal
sshd authentication logs — Illustrative mockup — Progressive Robot

Solution – Alternative Approaches

Temporarily enable password auth under change control for emergency access.

sudoedit /etc/ssh/sshd_config
sudo sshd -t
sudo systemctl restart ssh

Verification & Acceptance Criteria

Public key login succeeds and logs show accepted keys.

ssh -o PreferredAuthentications=publickey user@host
sudo grep -i 'Accepted publickey' /var/log/auth.log | tail -n 5

Rollback Plan

Restore previous sshd configuration if compatibility breaks.

sudo cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_config
sudo systemctl restart ssh

Prevention & Hardening

Enforce SSH permission checks during provisioning and audits.

find /home -maxdepth 2 -name .ssh -type d -exec ls -ld {} ;

Related to disabled PubkeyAuthentication and expired key material.

Related tutorial: View the step-by-step tutorial for Ubuntu 24.04 LTS.

View all Ubuntu 24.04 LTS tutorials on the Tutorials Hub →

Browse all common problems & solutions on the Tutorials Hub.

References & Further Reading

Ubuntu OpenSSH hardening and key management docs.

Need Expert Help?

If you cannot resolve this yourself, our team offers hands-on Server Management, Managed IT Services, and flexible Support Plans. Contact us today — we respond within one business day.