.ssh/id_rsa fehlgeschlagen: Zugriff verweigert

Lesezeit: 4 Minuten

Benutzer-Avatar
Zeichnete Verlee

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.

Ich folge dieser Anleitung (Erste Schritte mit Python auf Heroku/Cedar). Alles lief gut bis:

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.

Benutzer-Avatar
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.

EMPFOHLENE LÖSUNG

  1. Berechtigung auf korrekten Wert zurücksetzen
chmod -c 0644 id_rsa.pub
chmod -c 0600 id_rsa

NICHT EMPFOHLENE LÖSUNG

  1. Altes ssh entfernen
sudo rm -rf ~/.ssh/id_rsa
sudo rm -rf ~/.ssh/id_rsa.pub
  1. Generieren Sie eine neue ssh und verwenden Sie sie (siehe https://help.github.com/enterprise/2.15/user/articles/generating-a-new-ssh-key-and-addition-it-to-the-ssh-agent/)

Warum es funktioniert hat:

  • 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:

sudo yum remove selinux*

fand die Antwort hier

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.

    – Lichtungen

    22. Februar 2021 um 12:29 Uhr

1233690cookie-check.ssh/id_rsa fehlgeschlagen: Zugriff verweigert

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy