wake-up-neo.net

SSH-Schlüssel: "Berechtigungen 0644 für 'id_rsa.pub' sind zu offen."

Ich generiere ein SSH-Schlüsselpaar auf meinem Mac und füge den öffentlichen Schlüssel meinem Ubuntu-Server hinzu (tatsächlich handelt es sich dabei um eine virtuelle Maschine auf meinem Mac), aber wenn ich versuche, mich auf dem Ubuntu-Server anzumelden, heißt es:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/tudouya/.ssh/vm/vm_id_rsa.pub' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /Users/tudouya/.ssh/vm/vm_id_rsa.pub
Permission denied (publickey,password).

Ich habe viele Möglichkeiten ausprobiert, um das Problem zu lösen, den Schlüsseldateimodus zu ändern, den Ordnermodus zu ändern, als Antwort auf stackoverflow, aber es funktioniert nicht.
die Schlüsseldateiberechtigung:

vm dir:
drwxr-xr-x   4 tudouya  staff    136  4 29 10:37 vm

key file:
-rw-------  1 tudouya  staff  1679  4 29 10:30 vm_id_rsa
-rw-r--r--  1 tudouya  staff   391  4 29 10:30 vm_id_rsa.pub

bitte geben Sie mir eine Idee ... ======================================= ==

Ich schreibe die Host-Informationen in ssh_config:

Host ubuntuvm
    Hostname 10.211.55.17
    PreferredAuthentications publickey
    IdentityFile /Users/tudouya/.ssh/vm/vm_id_rsa.pub

Ich führe den Befehl "ssh -v ubuntuvm" aus, der Folgendes anzeigt:

ssh -v ubuntuvm
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 103: Applying options for *
debug1: /etc/ssh_config line 175: Applying options for ubuntuvm
debug1: Connecting to 10.211.55.17 [10.211.55.17] port 22.
debug1: Connection established.
debug1: identity file /Users/tudouya/.ssh/vm/vm_id_rsa.pub type 1
debug1: identity file /Users/tudouya/.ssh/vm/vm_id_rsa.pub-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-8
debug1: match: OpenSSH_6.6.1p1 Ubuntu-8 pat OpenSSH*
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr [email protected] none
debug1: kex: client->server aes128-ctr [email protected] none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server Host key: RSA 55:6d:4f:0f:23:51:ac:8e:70:01:ec:0e:62:9e:1c:10
debug1: Host '10.211.55.17' is known and matches the RSA Host key.
debug1: Found key in /Users/tudouya/.ssh/known_hosts:54
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/tudouya/.ssh/vm/vm_id_rsa.pub
debug1: Server accepts key: pkalg ssh-rsa blen 279
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/tudouya/.ssh/vm/vm_id_rsa.pub' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /Users/tudouya/.ssh/vm/vm_id_rsa.pub
debug1: No more authentication methods to try.
Permission denied (publickey,password).
138
土豆丫
debug1: identity file /Users/tudouya/.ssh/vm/vm_id_rsa.pub type 1

Es scheint, dass Sie versuchen, die falsche Schlüsseldatei zu verwenden. Die Datei mit der Erweiterung ".pub" ist die Datei public key. Die entsprechende Datei ohne die Erweiterung ".pub" ist die Datei private key. Wenn Sie einen SSH-Client ausführen, um eine Verbindung zu einem Remote-Server herzustellen, müssen Sie die private Schlüsseldatei dem SSH-Client zur Verfügung stellen.

Sie haben wahrscheinlich eine Zeile in Ihrer .ssh/config-Datei (oder /etc/ssh_config), die wie folgt aussieht:

IdentityFile .../.ssh/vm/vm_id_rsa.pub

Sie müssen die Erweiterung ".pub" aus dem Dateinamen entfernen:

IdentityFile .../.ssh/vm/vm_id_rsa
91
Kenster

Ich schlage vor, Sie machen:

chmod 400 ~/.ssh/id_rsa

Für mich ist die Arbeit gut.

317
Rick Benetti

Der Schlüssel sollte für den angemeldeten Benutzer lesbar sein.

Versuche dies:

cd ~/.ssh
chmod 400 ~/.ssh/Key file
chmod 400 ~/.ssh/vm_id_rsa.pub
32
user3029620
chmod 400 path/to/filename

Diese Arbeit für mich. Wenn ich diese Datei erstellt habe, kann ich mich mit meiner EC2-Instanz verbinden

Wenn sich die Schlüssel im Verzeichnis ~/.ssh befinden, verwenden Sie 

chmod 400 ~/.ssh/id_rsa

Wenn sich die Schlüssel in einem anderen Verzeichnis befinden, verwenden Sie

chmod 400 verzeichnispfad/id_rsa

Das hat bei mir funktioniert.

11
Anirban

In meinem Fall war es eine PEM-Datei. Es hat sich herausgestellt, dass auch das gut ist. Geänderte Berechtigungen der Datei und es hat funktioniert.

chmod 400 ~/.ssh/dev-shared.pem

Vielen Dank für alle, die oben geholfen haben.

11

Nach dem Ausführen des Befehls unten funktioniert es für mich

Sudo chmod 600 /path/to/my/key.pem
5
Ashok

Der Standardmodus von id_rsa ist 600, was readable und writable bedeutet.

Nachdem ich diese Datei in ein Git-Repo-Gerät übertragen und von einem anderen PC gezogen habe, wird der Modus der privaten Schlüsseldatei manchmal -rw-r--r--.

Wenn ich das Repo mit ssh nach dem Festlegen der privaten Schlüsseldatei ziehe, schlug es fehl und forderte die gleichen Warnungen mit Ihnen auf. Folgendes ist mein Skript.

ssh-agent bash -c "ssh-add $PATH_OF_RSA/id_rsa; \
git pull [email protected]:someone/somerepo.git "

Ich behebe dieses Problem, indem ich den Modus in 600 ändere.

chmod 600 $PATH_TO_RSA/id_rsa
4
W.Perrin

Diejenigen, die chmod 400 id_rsa.pub vorschlugen, klangen überhaupt nicht richtig. Es war durchaus möglich, dass op den pub-Schlüssel anstelle des privaten Schlüssels für ssh verwendete.

Es könnte also so einfach sein wie ssh -i /Users/tudouya/.ssh/vm/vm_id_rsa (the private key) [email protected], das Problem zu beheben.

--- Update ---

In diesem Artikel https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2 erfahren Sie, wie Sie den ssh-Schlüssel einrichten

2
Qiulang

chmod 400 /etc/ssh/* arbeitet für mich.

1
Michal Šípek

Wenn Sie eine .ssh/config -Datei verwenden, versuchen Sie es mit

chmod 0400 .ssh/config

dann:

chmod 0400 .ssh/<<KEYFILE_PATH>>
1
Shell_Leko

durch die Erlaubnis 400 wird der Schlüssel privat und für jemanden nicht zugänglich. Es macht den Schlüssel als einen geschützten. 

chmod 400 /Users/tudouya/.ssh/vm/vm_id_rsa.pub
1
Himanshi Singh

Viele ähnliche Antworten, aber keine Erklärungen ...

Der Fehler wird ausgelöst, weil die Dateiberechtigungen für den privaten Schlüssel zu offen sind. Es ist ein Sicherheitsrisiko.

Ändern Sie die Berechtigungen für die private Schlüsseldatei auf minimal (schreibgeschützt nur vom Eigentümer).

  1. Besitzer ändern chown <unix-name> <private-key-file>
  2. Minimale Berechtigungen festlegen (nur lesbar für Dateieigentümer) chmod 400 <private-key-file>
0
James Wierzba

Lauf einfach runter zu deinem Pem

Sudo chmod 600 /path/to/my/key.pem 
0
Pravin