Ich habe das Web/SO gescannt und mehrere Bitten um Hilfe gelesen, bei denen die Erlaubnis verweigert wurde. Ich kann einfach keine finden, die mein Problem so löst, wie ich es verstehe.
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
(Ich bin mir der Sicherheit nicht sicher, also habe ich den Schlüssel durch (#) ersetzt)
Ich denke es könnte daran liegen
drwx------ 2 root root 1024 2012-03-08 21:26 .ssh
Weil
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.
Als jemand mit wenig Erfahrung in diesen Angelegenheiten bin ich mir nicht sicher, wie ich das, was ich getan habe, sicher rückgängig machen kann, da ich weiß, dass ich mich mit mächtigen Werkzeugen einmische. Irgendwelche Ratschläge, was hier los ist? Lassen Sie mich wissen, ob ich weitere Informationen hinzufügen muss, um das Problem zu lösen.
@CIRCLE das sieht für mich nicht nach einer guten Idee aus
– Phönix87
22. Juli 2017 um 11:48 Uhr
Sie sollten die Berechtigungen für das .ssh-Verzeichnis in Ihrem eigenen Verzeichnis besitzen, aber in Ihrem Fall gehört es root. Versuchen
cd ~
sudo chown drewverlee .ssh
und versuchen Sie dann erneut, Schlüssel zu erstellen und eine Verbindung herzustellen.
Ich habe herausgefunden, wie ich mein gesamtes Benutzerverzeichnis besitzen kann, während ich las, dass dies wahrscheinlich die effizienteste Sache war. Danke, dass du mich in die richtige Richtung weist.
– Zeichnete Verlee
13. März 2012 um 1:11 Uhr
Ich habe festgestellt, dass ssh-keygen es vorzieht, das .ssh-Verzeichnis zu erstellen. Wenn das Verzeichnis bereits vorhanden ist, wird eine Berechtigungsverweigerungsnachricht ausgegeben, unabhängig von der Konfiguration der zulässigen Eigentümerberechtigungen.
– ddoxey
12. September 2013 um 18:47 Uhr
Aus irgendwelchen Gründen war die id_rsa-Datei im ~/.ssh-Ordner für meinen Benutzer (0400) im schreibgeschützten Modus. Ich habe das auf Read-Write (0600) mit geändert
chmod 0600 id_rsa
und nachdem ich offensichtlich in der Lage war, die Datei zu überschreiben. Ich denke, das sind die höchsten Berechtigungen, die Sie dieser Datei geben können, da andere nicht allzu viel Sinn machen würden.
Koke Kakao
Da keine der obigen Antworten für mich funktioniert hat. Ich poste meine Antwort:
Wenn Sie sich noch an das Passwort erinnern und die alte id_rsa behalten möchten, verwenden Sie RECOMMENDED SOLUTIONsonst gehe zu NOT RECOMMENDED SOLUTION.
ssh erstellt von sudo Befehl ist ssh für root, nicht für den Benutzer. Das bedeutet, dass ssh-add ~/.ssh/id_rsa kann einem Benutzer kein Root-SSH hinzufügen.
Wenn Sie versuchen, einen neuen Benutzer ssh zu generieren, können Sie den alten nicht erfolgreich ersetzen, da er für root generiert wurde.
(Bitte bitten Sie mich, meine Antwort zu korrigieren, wenn etwas nicht stimmt. Danke 🙂
Durch das Löschen des alten Schlüssels verlieren Sie den Zugriff auf alle SSH-Server, auf denen Sie den alten Schlüssel verwendet haben. Ändern Sie stattdessen einfach die Berechtigung und den Besitz, um dieses Problem zu beheben!
– Rehan Haider
24. Juni 2021 um 10:53 Uhr
Ich hatte das gleiche Problem unter CentOS 6. Gelöst durch Entfernen von selinux:
Hinweis: wahrscheinlich keine gute Idee, Selinux blind zu entfernen, wenn Sie nicht wissen, was Sie tun
Mein Benutzer (ubuntu – Sie können herausfinden, wer whoami eingibt) besaß den Ordner ~/.ssh, aber er ließ mich immer noch nicht den Symlink (Datei: ~/.ssh/my_file_rsa) von ssh-keygen verwenden. Also habe ich einfach in den Ordner ~/.ssh kopiert und keinen externen Pfad für den RSA-Dateinamen angegeben.
whoami
ls -Al ~
cd ~/.ssh
ssh-keygen
Enter file in which to save the key (/home/ubuntu/.ssh/id_rsa): my_file_rsa
cd-ing in die ~/.ssh Verzeichnis hat bei mir funktioniert. Ich würde gerne mehr darüber erfahren, warum das funktioniert.
– aaaap
27. November 2018 um 6:16 Uhr
@aalaap: Seltsamerweise hat das auch bei mir funktioniert. Ich würde auch gerne wissen warum.
– Lichtungen
22. Februar 2021 um 12:29 Uhr
cd-ing in die ~/.ssh Verzeichnis hat bei mir funktioniert. Ich würde gerne mehr darüber erfahren, warum das funktioniert.
– aaaap
27. November 2018 um 6:16 Uhr
@aalaap: Seltsamerweise hat das auch bei mir funktioniert. Ich würde auch gerne wissen warum.
@CIRCLE das sieht für mich nicht nach einer guten Idee aus
– Phönix87
22. Juli 2017 um 11:48 Uhr