Ich habe die Anweisungen von Bitbucket befolgt, um meine SSH-Schlüssel hinzuzufügen und Git zu verwenden, ohne mich jedes Mal authentifizieren zu müssen. Ichhabe die Anweisungen hier befolgt. Dann bekomme ich die folgende Meldung:ssh -T [email protected]
Bad owner or permissions on /home/centos/.ssh/config
Eine Überprüfung der SSH-Berechtigungen zeigt:
cat ~/.ssh/config
Host bitbucket.org
IdentityFile ~/.ssh/id_rsa
Und ~/.ssh/id_rsa
existiert und enthält meinen privaten Schlüssel. Der öffentliche Schlüssel ist bereits zu meinen SSH-Schlüsseln in Bitbucket hinzugefügt und die Fehlermeldung, die ich erhalte, steht nicht in der Anleitung zur Fehlerbehebung.
Das System ist CentOS Linux Release 7.0.1406 (Core), Git-Version 1.8.3.1, der SSH-Schlüssel wurde vor 5 Stunden zu Bitbucket hinzugefügt. Ich bin nicht sicher, ob das relevant ist, der Benutzer centos
auf der CentOS-Maschine wurde automatisch erstellt und ich melde mich mit einer Identitätsdatei an (ich habe kein Passwort dafür). Außerdem funktioniert das Bitbucket-Repository einwandfrei und ich kann problemlos von einem anderen Computer aus damit arbeiten. Beide SSH-Schlüssel sind unter meinem Bitbucket-Konto aufgeführt.
AKTUALISIEREN:In beiden Antworten, die ich erhalten habe, wird auf Berechtigungen hingewiesen, aber das hatte ich bereits überprüft. Sowohl ~/.ssh/id_rsa
als auch ~/.ssh/id_rsa
gehören meinem Benutzer mit 664
bzw. 600
. Ich habe sogar versucht, chmod 777
für beide Dateien zu verwenden, aber die gleiche Meldung erhalten.
Antwort1
In beiden Antworten, die ich erhalten habe, wird auf Berechtigungen hingewiesen, aber das hatte ich bereits überprüft. Sowohl
~/.ssh/id_rsa
als auch~/.ssh/id_rsa
gehören meinem Benutzer mit664
bzw.600
. Ich habe sogar versucht, chmod777
für beide Dateien zu verwenden, aber die gleiche Meldung erhalten.
777
Berechtigungen werden nie funktionieren. SSH-Berechtigungen sind sehr restriktiv und eine weitere Öffnung auf diese Weise führt nur zu Fehlern. Auch in Ihren Kommentaren zu anderen Fragen heißt es, dass dies Ihre aktuellen Berechtigungen sind:
-rw-rw-r--. 1 centos centos 47 May 17 20:33 /home/centos/.ssh/config
Das sind 664
Berechtigungen, die lauten -rw-rw-r--
. Sie möchten 600
Berechtigungen, die lauten -rw-------
. Versuchen Sie also Folgendes: Ändern Sie zunächst die ~/.ssh/config
Berechtigungen wie folgt:
chmod 600 /home/centos/.ssh/config
Machen Sie nun dasselbe für~/.ssh/id_rsa
chmod 600 /home/centos/.ssh/id_rsa
Außerdem bin ich mir nicht ganz sicher, wie die Bitbucket-SSH-Domänen-/Benutzerkombination aussehen würde, aber es könnte sich lohnen, den Prozess zu debuggen, indem man den SSH-Befehl mit dem -v
Flag (verbose) verwendet, um im Detail zu sehen, was passiert. Ein Befehl wie dieser würde helfen:
ssh -v -T [email protected]
Dies -v
wäre die ausführliche Ausgabe und -T
würde SSH so einstellen, dass die „Pseudo-TTY-Zuweisung deaktiviert“ wird, sodass keine echte interaktive Sitzung erstellt wird. Im Wesentlichen wird nur versucht, eine Verbindung zum Remote-Host herzustellen und dann die Verbindung zu trennen. Nützlich für Tests.
Antwort2
Wie der Fehler anzeigt, überprüfen Sie die Eigentümerschaft und Berechtigungen mit etwas wie ls -l /home/centos/.ssh/config
.
Es sollte Ihnen gehören ( centos
) und entweder im Modus 600
( rw-------
) oder 400
( r--------
) sein.
Antwort3
Ich würde einen
sudo chown <username>:<username> ~/.ssh/config
Wo <username>
ist Ihr Systembenutzername? Das ändert den Besitzer der Datei in<username>
Das Löschen und erneute Erstellen mit dem aktuellen Benutzer (nicht mit sudo) würde auch funktionieren. Ich vermute, dass dies dadurch verursacht wurde, dass die Datei als Root erstellt wurde.