Collectives™ on Stack Overflow
Find centralized, trusted content and collaborate around the technologies you use most.
Learn more about Collectives
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Learn more about Teams
I have been scanning the web/SO and read several permission denieds plea's for help I just cant find one that solves my issue in a way i understand.
I'm following these instructions (
Getting Started with Python on Heroku/Cedar
). Everything went alright until:
drewverlee@ubuntu:~/helloflask$ source venv/bin/activate
(venv)drewverlee@ubuntu:~/helloflask$ git push heroku master
The authenticity of host 'heroku.com (50.19.85.132)' can't be established.
RSA key fingerprint is ##:##:##:##:##:##:##:##:##:##:##:## (I replaced with #)
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts (/home/drewverlee/.ssh/known_hosts).
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
(Not sure of security so i replaced the key with (#))
I think it might be because of
drwx------ 2 root root 1024 2012-03-08 21:26 .ssh
because
drewverlee@ubuntu:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/drewverlee/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
open /home/drewverlee/.ssh/id_rsa failed: Permission denied.
Saving the key failed: /home/drewverlee/.ssh/id_rsa.
As someone with little experience in these matters i'm not sure how to undo what i have done safely as i know i'm meddling with powerful tools. Any advice on whats going on here?
Let me know if i need to include more information to solve the problem.
You should own the permissions to the .ssh dir in your own directory, but in your case, it's owned by root. Try
sudo chown drewverlee .ssh
and then retry creating keys and connecting.
–
–
For some reasons, the id_rsa file in the ~/.ssh folder was in read-only mode for my user (0400). I changed that to read-write (0600) with
chmod 0600 id_rsa
and after I was obviously able to overwrite the file. I guess these are the highest permissions you can give to this file, as others wouldn't make too much sense.
Since none of the answers above worked for me. I will post my answer:
If you still remember the password and want to keep old id_rsa, then use RECOMMENDED SOLUTION, else go to NOT RECOMMENDED SOLUTION.
RECOMMENDED SOLUTION
Reset permission to correct value
chmod -c 0644 id_rsa.pub
chmod -c 0600 id_rsa
NOT RECOMMENDED SOLUTION
Remove old ssh
sudo rm -rf ~/.ssh/id_rsa
sudo rm -rf ~/.ssh/id_rsa.pub
Generate new ssh and use it (see https://help.github.com/enterprise/2.15/user/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/)
Why it worked:
ssh created by sudo command is ssh for root, not for the user. This means that ssh-add ~/.ssh/id_rsa will fail to add root ssh to a user.
when you try to generate new user ssh, you cannot successfully replace the old one because it was generated for root.
(Please ask me to fix my answer if there is something wrong. thx :)
–
I had the same problem on CentOS 6. Solved it by removing selinux:
sudo yum remove selinux*
found the answer here
note: probably not a good idea to blindly remove selinux if you don't know what you're doing though
–
–
My user (ubuntu - you can find out typing whoami) did own the ~/.ssh folder but it still wasn't letting me use the symlink (File: ~/.ssh/my_file_rsa) from ssh-keygen. So I just cd'ed into the ~/.ssh folder and didn't put an outside path for the rsa file name.
whoami
ls -Al ~
cd ~/.ssh
ssh-keygen
Enter file in which to save the key (/home/ubuntu/.ssh/id_rsa): my_file_rsa
–
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.