SSH often uses a key-based authentication method that offers better security over the regular username and password authentication. On occasion, you may encounter a “Permission denied (publickey)” error.
The key-based authentication system uses two keys:
- one public
- one private key
The public key resides on your server, while the private key resides on your local device. Despite the “public” portion of this error message, it indicates an issue with the key residing on your device.
However, since the public and private keys are a matching pair, the entire set needs to be regenerated to fix this error. SSH key generation methods differ depending on the Operating System (OS) of your device or the SSH application used. Below you can find links to tutorials showing you how to generate key pairs on the most popular OSs:
While the primary issue with the error in question is a problem with the keys, other possibilities exist. Most root causes still stem from issues with the SSH connection information used- for example:
- Incorrect SSH username
- Outdated IP address or hostname
- Wrong password
The primary method of resolving this error is to correct the mismatching information in your public and private keys or simply regenerate the keys.