Client could not push to git or seems to have lost access to their repo.
Permission denied (publickey).
fatal: Could not read from remote repository. Please make sure you have the correct access rights
and the repository exists.
Possible causes and troubleshooting steps
Client's user doesn't have access to the app
You can confirm this by asking the client to execute
eyk whoami then confirming if that user on the list of users that have access to the application via
eyk perms:list -a <application name>.
If they are not yet on the list, then they would need to ask the app owner to add them by running
eyk perms:add <user_email_address> -a <app_name>.
Note: Command should be executed by the app's owner
Client hasn't uploaded the keys yet
Verify with the client if their public key is on the cluster by asking them to execute
eyk keys:list and confirm the result.
They can use the command
eyk keys:add ~/.ssh/id_rsa.pub to add the key, with
~/.ssh/ as the path to their public key on Mac/Linux, and
id_rsa.pub as their SSH public key
Expected result should be:
Uploading id_rsa.pub to deis... done
You can also provide the related article: https://support.cloud.engineyard.com/hc/en-us/articles/4401771745691-Managing-EYK-SSH-Keys
SSH key for the user doing the push is not on the local machine's keyring or ssh-agent
If the private key is present on the filesystem, they can execute
GIT_SSH_COMMAND='ssh -i <path_to_private_key>' git push <remote>.
Client recently updated OS and caused SSH RSA Cipher to be deprecated
As the recent Linux and MacOS have deprecated RSA signatures by default, they need to add it back by executing the commands below:
- For Linux -
echo "PubkeyAcceptedKeyTypes +ssh-rsa" >> /etc/ssh/ssh_config
- For MacOS -
echo "PubkeyAcceptedKeyTypes +ssh-rsa" >> ~/.ssh/config