Keyring files become unusable after a reboot in Ubuntu 22.04 when the GNOME Keyring daemon fails to unlock automatically due to mismatched passwords, corrupted file permissions, or PAM configuration errors. The most reliable fix involves verifying the default login password matches the keyring password and repairing file ownership using chown, while avoiding risky manual PAM edits that can lock you out of your system.
Understanding the Root Cause
The GNOME Keyring is designed to store sensitive data like Wi-Fi passwords, browser credentials, and SSH keys. On Ubuntu 22.04 with GNOME 3, this service integrates tightly with the Pluggable Authentication Modules (PAM) system. When you log in, the system attempts to unlock the "login" keyring using your user account password. If this process fails, the keyring remains locked, and applications cannot access stored secrets, often appearing as if the file is corrupted or unusable. Common triggers for this failure include changing your user password without updating the keyring password, upgrading from an older Ubuntu version where the keyring format differed, or incorrect file permissions that prevent the daemon from reading the encrypted vault. It is crucial to distinguish between a locked keyring and a physically damaged file. A locked keyring simply requires the correct password to unlock, whereas a damaged file may show errors like "Failed to load" or "Invalid signature." For users who have attempted to remove the keyring entirely, it is important to understand the implications before proceeding. If you need to start fresh, refer to Uninstalling Seahorse/Gnome-Keyring: A Step-by-Step Guide to safely remove the existing components and reinstall them cleanly. This ensures that any residual configuration issues are cleared before you attempt to reconfigure the authentication flow.Verifying Password Synchronization
The most frequent cause of this issue is a discrepancy between your login password and the keyring password. If you recently changed your user password via the terminal or system settings, the keyring likely still expects the old password. To resolve this, you must update the keyring password to match your current login credentials. Open the Files application (Nautilus) and navigate to.local/share/keyrings. You will see files named default.keyring or login.keyring. Right-click on the relevant keyring file and select "Properties." Look for the "Password" field. If it is empty or shows a placeholder, you need to set a new password.
A safer method than manually editing files is to use the seahorse application, also known as "Passwords and Keys." If installed, open it from the application menu. In the left pane, locate "Login" under the "Passwords" section. Right-click it and select "Change Password." Enter your current login password when prompted. If the system accepts it, the keyring is now synchronized with your login session. If it rejects the password, there may be a deeper corruption issue requiring file repair.
Repairing File Permissions and Ownership
If password synchronization does not work, the issue may stem from incorrect file permissions. After a failed update or improper shutdown, the ownership of keyring files might shift from your user toroot or another system account. This prevents the GNOME Keyring daemon from accessing the vault during the normal login process.
You can diagnose this by checking the permissions of the keyring directory. Open a terminal and run the following command to list the details of your keyring files:
ls -la ~/.local/share/keyrings/
Look at the owner and group columns. They should display your username and your primary group (usually your username). If they show root root or another user, you must correct them. Use the chown command to restore proper ownership. Replace yourusername with your actual Linux username:
sudo chown -R yourusername:yourusername ~/.local/share/keyrings/
This command recursively changes the owner of all files in the keyring directory to your user account. After running this, log out and log back in. The system should now be able to read and unlock the keyring using your standard login credentials.
Recreating the Keyring Safely
If the above steps fail, the keyring file itself may be corrupted beyond repair. In this case, deleting the problematic file and allowing the system to create a new one is the most effective solution. Note that this will erase all stored passwords, so you will need to re-enter them for browsers and other applications. First, ensure no applications are actively using the keyring. You can stop the GNOME Keyring daemon by logging out completely. Then, rename the existing keyring files instead of deleting them immediately, in case you need to recover specific data later. Move the files to a backup location:mkdir ~/keyring_backup
mv ~/.local/share/keyrings/*.keyring ~/keyring_backup/
After moving the files, log back into your Ubuntu session. The next time an application requests a password, GNOME Keyring will detect the missing default keyring and prompt you to create a new one. Set the password to match your current login password. This creates a fresh, functional keyring that is correctly integrated with your user account.
Avoid attempting to manually edit PAM configuration files (/etc/pam.d/common-password) unless you are certain of the syntax. Incorrect PAM modifications can prevent future logins entirely. Always stick to user-space solutions like password synchronization and file permission repairs first. For more complex network-related authentication issues, such as those involving remote connections, you might find relevant troubleshooting tips in our guide on SSH X11 Forwarding Issues: Works for WSL but not Remote Host, although the core mechanism differs from local keyring management.
Frequently Asked Questions
Will deleting the keyring delete my browser passwords?
No, deleting the GNOME Keyring file only removes the container that stores the passwords. Your browser profiles remain intact. However, you will lose the saved passwords within the keyring, and you may need to re-enter them in your browser settings if they were synced through the keyring rather than the browser's own database.
How do I check if the GNOME Keyring daemon is running?
You can check the status of the daemon by running ps aux | grep gnome-keyring in the terminal. If the process appears in the list, it is active. If it is missing, the daemon may have crashed or failed to start during boot, which can happen if the keyring file is unreadable.
Can I use a different password for the keyring than my login password?
Yes, but it is not recommended for typical desktop use. If you choose a different password, you will be prompted to enter it every time you log in or when applications try to access stored secrets. This defeats the purpose of automatic unlocking and can lead to confusion if you forget the separate keyring password.
What should I do if I get a "Permission Denied" error after changing ownership?
If you encounter permission errors even after using chown, ensure that SELinux or AppArmor policies are not blocking access. On standard Ubuntu installations, these are usually not the culprit. Try restarting the computer after changing ownership to ensure the kernel re-reads the file attributes and mounts the home directory with correct security contexts.
Is it safe to disable the GNOME Keyring entirely?
Disabling the keyring is generally not advised because many applications rely on it for secure storage. If you disable it, you may face security risks as some apps might fall back to storing passwords in plain text or insecure locations. Instead of disabling it, focus on fixing the unlock mechanism or recreating the keyring as described in the main article.