Ich habe einen privaten SSH-Schlüssel .key generiert. Ich möchte es meinem ssh in Mac hinzufügen, um eine Verbindung zu einem Remote-Server herzustellen. Ich habe nur eine known_hosts
Datei im ~/.ssh
Verzeichnis.
Wenn ich versuche, es mit diesem Befehl hinzuzufügen:
ssh-add -K ~/.ssh/myKey.ppk
Ich erhalte diesen Fehler:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/username/.ssh/myKey.ppk' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Antworten:
Die Fehlermeldung wird angezeigt, weil die Dateiberechtigungen so festgelegt sind, dass sie von anderen Benutzern außer dem angemeldeten Benutzer gelesen werden können. Um die Fehlermeldung zu beheben, müssen Sie die Dateiberechtigungen für den privaten Schlüssel so ändern, dass er nur von Ihnen gelesen werden kann.
Führen Sie dazu den folgenden Befehl im Terminal aus:
cd ~/.ssh ; chmod 400 myKey.ppk
Auf diese Weise kann nur Ihr Benutzer die private Schlüsseldatei lesen (und nicht schreiben und ausführen) und alle anderen daran hindern, die Datei zu lesen, zu schreiben und auszuführen.
Dadurch wird die angezeigte Fehlermeldung behoben, und Sie sollten in der Lage sein, die private Schlüsseldatei ordnungsgemäß hinzuzufügen.
quelle
Gehen Sie zum Terminal und geben Sie diesen Befehl ein:
chmod 0600 ~/.ssh/myKey.ppk
Das sollte in Ordnung sein.
quelle
0400
wäre ausreichend.Während das Ändern der Berechtigungen der
.ppk
Datei tatsächlich dazu führt, dass diese Warnung verschwindet, würde ich empfehlen, den Zugriff von Gruppen / anderen auf das.ssh
Verzeichnis insgesamt zu deaktivieren :Andernfalls könnten andere Benutzer mit unsicheren Berechtigungen für Ihr Home-Verzeichnis Dateien (wie
authorized_keys
) in Ihrem.ssh
Verzeichnis ablegen oder mit Elementen herumspielenknown_hosts
oder diese ändernconfig
und auf diese Weise Zugriff erhalten - ohne dass Sie Ihr Kennwort oder Ihren privaten Schlüssel kennen müssen.Zweitens wäre es in einer Mehrbenutzerumgebung zweifelhaft, die Berechtigungen nur rückwirkend auf einen Schlüssel zu beschränken. Wenn ein privater Schlüssel zu einem bestimmten Zeitpunkt auf einem Mehrbenutzersystem weltweit lesbar war, sollte er als bereits gefährdet betrachtet werden.
quelle
Es sieht so aus, als hätten Sie Ihren privaten Schlüssel von Windows oder von einem anderen Computer kopiert, auf dem Sie PuTTY verwendet haben. Leider unterstützt das
ssh
Befehlszeilentool dieses Schlüsselformat nicht und daher haben Sie zwei Möglichkeiten:Konvertieren Sie den privaten Schlüssel vom PuTTY-Dateiformat in das OpenSSH-Format (verwenden Sie erneut PuTTYGen von PuTTY, wie bereits in meiner vorherigen Antwort beschrieben :
~/.ssh/id_rsa
Wenn Sie weiterhin Probleme mit dem neuen exportierten Schlüssel sehen (
~/.ssh/id_rsa
stellen Sie sicher, dass der Schlüssel nur von Ihnen (es ist Ihr privater Schlüssel) gelesen werden kann, indem Sie alle Berechtigungen aller anderen durch Ausführen entfernenchmod 600 ~/.ssh/id_rsa
.quelle