Issue
Client could not push to git or seems to have lost access to their repo.
Error Message
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
Comments
Article is closed for comments.