Ich hatte ein Problem mit meinem Mac, bei dem ich keine Datei mehr auf der Festplatte speichern konnte. Ich musste OSX Lion neu starten und die Berechtigungen für Dateien und Acls zurücksetzen.
Aber jetzt, wenn ich ein Repository festschreiben möchte, erhalte ich den folgenden Fehler von ssh:
Permissions 0777 for '/Users/username/.ssh/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
Welche Berechtigungsstufen sollte ich der Datei id_rsa geben?
permissions
ssh
Yannick Schall
quelle
quelle
StrictModes
wird auf dem freigegebenensshd
Server, von dem man Seite: „StrictModes Gibt an, ob sshd (8) sollten vor der Annahme Login Dateimodi und das Eigentum an die Dateien des Benutzers und Home - Verzeichnis überprüfen.“ - Sie können dies deaktivieren, jedoch nicht empfohlen.Antworten:
Schlüssel müssen nur für Sie lesbar sein:
Wenn Schlüssel von Ihnen lesbar und beschreibbar sein müssen:
600 scheint ebenfalls in Ordnung zu sein (in den meisten Fällen sogar besser, da Sie die Dateiberechtigungen später nicht ändern müssen, um sie zu bearbeiten).
Der relevante Teil aus der Manpage (
man ssh
)quelle
Unter Verwendung von Cygwin in Windows 8.1 muss ein Befehl ausgeführt werden:
Dann kann die hier veröffentlichte Lösung angewendet werden, 400 oder 600 ist OK.
Ref: http://vineetgupta.com/blog/cygwin-permissions-bug-on-windows-8
quelle
C:\cygwin64
), daher hat es wahrscheinlich die Berechtigungen geerbt. Seltsam, dass dies bei anderen Laptops, die ich besitze, nicht passiert ist.Die vom Gebietsschema unabhängige Lösung, die unter Windows 8.1 funktioniert, lautet:
GID 545 ist eine spezielle ID , die sich immer auf die Gruppe "Benutzer" bezieht, auch wenn das Gebietsschema ein anderes Wort für Benutzer verwendet.
quelle
0600 ist das, worauf meine eingestellt ist (und es funktioniert)
quelle
AFAIK die Werte sind:
700 für das versteckte Verzeichnis ".ssh", in dem sich die Schlüsseldatei befindet
600 für die Schlüsseldatei "id_rsa"
quelle
Ich habe den Fehler in meinem Windows 10, also habe ich die Berechtigung wie folgt festgelegt und es funktioniert.
Entfernen Sie im Detail andere Benutzer / Gruppen, bis nur noch 'SYSTEM' und 'Administratoren' vorhanden sind. Fügen Sie dann Ihr Windows-Login mit Leseberechtigung hinzu.
Beachten Sie, dass sich die
id_rsa
Datei unter demc:\users\<username>
Ordner befindet.quelle
Edit...
und drücken Sie dannAdd...
Ihren Namen geben in das Textfeld ein, dann"Enter the object names to select"
drücken Sie dannCheck Names
Taste (und drücken SieOK
und andereOK
) , dann sollten Sie Ihren Namen in der Liste aufgeführt werdenSecurity
Tab.pem
dasmyuser directory
Es gibt eine Ausnahme von der Berechtigungsanforderung "0x00" für einen Schlüssel. Wenn der Schlüssel im Besitz von root und im Besitz einer Gruppe mit Benutzern ist, kann er "0440" sein und jeder Benutzer in dieser Gruppe kann den Schlüssel verwenden.
Ich glaube, dass dies mit allen Berechtigungen im Set "0xx0" funktioniert, aber ich habe nicht jede Kombination mit jeder Version getestet. Ich habe 0660 mit 5.3p1-84 unter CentOS 6 ausprobiert, und die Gruppe ist nicht die primäre Gruppe des Benutzers, sondern eine sekundäre Gruppe, und es funktioniert einwandfrei.
Dies wird normalerweise nicht für den persönlichen Schlüssel einer Person durchgeführt, sondern für einen Schlüssel, der für die Automatisierung verwendet wird, wenn Sie nicht möchten, dass die Anwendung mit dem Schlüssel herumspielen kann.
Ähnliche Regeln gelten für die Einschränkungen des .ssh-Verzeichnisses.
quelle
Geben Sie 400 Berechtigungen ein und führen Sie den folgenden Befehl aus
quelle
Unter Windows 10 reichten mir chmod und chgrp von cygwin nicht aus. Ich musste mit der rechten Maustaste auf die Datei -> Eigenschaften -> Sicherheit (Registerkarte) klicken und alle Benutzer und Gruppen außer meinem aktiven Benutzer entfernen.
quelle
Das hat bei mir funktioniert (auf dem Mac)
dann :
Hoffe es hilft
quelle
Was hat bei mir funktioniert?
quelle
Ich habe das gleiche Problem nach der Migration von einem anderen Mac. Und es wurde blockiert, um Github über meinen Schlüssel zu verbinden.
Ich habe die Berechtigung wie unten zurückgesetzt und es funktioniert jetzt gut.
quelle
Windows 10 ssh in Ubuntu EC2 Fehler "Berechtigungen sind zu offen" unter AWS
Ich hatte dieses Problem beim Versuch, mithilfe der PEM-Datei von AWS in eine Ubuntu EC2-Instanz zu ssh.
In Windows funktionierte dies, als ich diesen Schlüssel in einen unter dem Ordner .ssh erstellten Schlüssel legte
So ändern Sie die Berechtigungseinstellungen in Windows 10:
Könnte dann sicher verbinden.
quelle
Für mich (unter Verwendung des Ubuntu-Subsystems für Windows) änderte sich die Fehlermeldung in:
nach der Verwendung von chmod 400. Es stellt sich heraus, dass die Verwendung von root als Standardbenutzer der Grund war.
Ändern Sie dies mit dem cmd:
quelle
Interessante Nachricht hier. Betriebssysteme sind intelligent genug, um Remoteverbindungen zu verweigern, wenn Ihr privater Schlüssel zu offen ist. Es versteht das Risiko, wenn Berechtigungen für id_rsa weit offen sind (gelesen, kann von jedem bearbeitet werden).
{Man kann zuerst das Schloss ändern und es dann mit den Schlüsseln öffnen, die er bereits hat}
Während der Arbeit auf mehreren Servern (nicht in der Produktion) müssen die meisten von uns den Remote-Server mit ssh verbinden. Eine gute Idee ist es, einen Code auf Anwendungsebene (möglicherweise Java mit jsch) zu haben, um SSH-Vertrauensstellungen zwischen Servern zu erstellen. Auf diese Weise ist die Verbindung ohne Passwort. Falls Perl installiert ist, kann man auch das Net SSH-Modul verwenden.
quelle
Ich bin auf diesen Fehler gestoßen, als ich mit Ansible gespielt habe. Ich habe die Berechtigungen des privaten Schlüssels auf 600 geändert, um dieses Problem zu lösen. Und es hat funktioniert!
quelle
Ich habe 600 Berechtigungsstufen für meinen privaten Schlüssel ausprobiert und es hat bei mir funktioniert. chmod 600 privateKey [dev] $ ssh -i privateKey user @ ip hat funktioniert
chmod 755 privateKey [dev] $ ssh -i privateKey user @ ip es gab folgendes Problem: Die Berechtigungen 0755 für 'privateKey' sind zu offen. Es ist erforderlich, dass Ihre privaten Schlüsseldateien NICHT für andere zugänglich sind. Dieser private Schlüssel wird ignoriert. Ladeschlüssel "privateKey": schlechte Berechtigungen
quelle
quelle
Ich verwende VPC auf EC2 und habe die gleichen Fehlermeldungen erhalten. Mir ist aufgefallen, dass ich das öffentliche DNS verwendet habe. Ich habe das auf das private DNS und vola geändert !! es funktionierte...
quelle
Für Win10 müssen Sie Ihren Schlüssel in das Home-Verzeichnis des Benutzers verschieben. Für Linux-ähnliche Betriebssysteme müssen Sie auf 700 Like oder 600 usw. chmod.
quelle