ssh gibt "Ungültiger Besitzer oder Berechtigungen für ~ / .ssh / config" zurück

366

Wenn ich versuche, auf eine andere Box zu sshen, erhalte ich diesen seltsamen Fehler

$ ssh hostname
Bad owner or permissions on ~/.ssh/config

Aber ich habe dafür gesorgt, dass ich die folgenden Rechte besitze und über diese Rechte verfüge:

ls -la ~/.ssh/
total 40K
drwx------ 2 robert robert 4.0K Mar 29 11:04 ./
drwx------ 7 robert robert 4.0K Mar 29 11:04 ../
-rw-r--r-- 1 robert robert 2.0K Mar 17 20:47 authorized_keys
-rw-rw-r-- 1 robert robert   31 Mar 29 11:04 config
-rw------- 1 robert robert 1.7K Aug  4  2010 id_rsa
-rw-r--r-- 1 robert robert  406 Aug  4  2010 id_rsa.pub
-rw-r--r-- 1 robert robert 6.1K Mar 29 11:03 known_hosts
Robert
quelle
Ich hatte gerade die gleiche Nachricht. Mein Fall war anders. Ich hatte eine globale IdentityFile ~/.ssh/id_rsaGruppe, also versuchte ich beim Versuch, auf [email protected] zuzugreifen, diese id_rsa zu verwenden, ohne mich nach dem Passwort zu fragen. Vermeiden Sie das globale IdentityFile und alles wird gut gehen.
giovannipds

Antworten:

569

Ich musste rw nur für Benutzer-Berechtigungen für die Konfiguration haben. Das hat es behoben.

chmod 600 ~/.ssh/config

Wie andere weiter unten angemerkt haben, könnte es der Dateieigentümer sein. (stimme ihnen zu!)

chown $USER ~/.ssh/config
Robert
quelle
22
Manchmal sind es nicht nur die Berechtigungen, sondern auch der Eigentümer, die das Problem verursachen können. in meinem Fall musste ich das auch tun:chown -R robert:robert ~/.ssh
Nicolas C
3
In meinem Fall hat es geholfen, von 644 auf 600 zu kommen.
Magicsowon
2
Nur lesen Erlaubnis sollte ausreichen, dh400
030
1
Für mich 600hat nicht funktioniert, nur 400(auf Ubuntu Xenial)
Martín Coll
@ 030 Solange Sie nicht beabsichtigen, die Datei zu bearbeiten ..
Sean the Bean
64

Diese Befehle sollten das Berechtigungsproblem beheben:

chown $USER ~/.ssh/config
chmod 644 ~/.ssh/config

Präfix mit, sudowenn sich die Dateien im Besitz eines anderen Benutzers befinden (oder Sie keinen Zugriff darauf haben).

Wenn weitere Dateien betroffen sind, ersetzen Sie configdurch *.

In können man sshwir lesen:

Aufgrund des Missbrauchspotenzials muss diese Datei über strenge Berechtigungen verfügen: Lesen / Schreiben für den Benutzer und nicht für andere schreibbar. Es kann gruppenbeschreibbar sein, vorausgesetzt, die betreffende Gruppe enthält nur den Benutzer.

Kenorb
quelle
3
Das hat den Trick für mich getan. Ich verwende cygwin und cygwin .ssh ist mit dem Windows-Benutzer .ssh verbunden. Ich musste diese Befehle in Cygwin-Fenster ausführen.
Damodar Bashyal
Das hat bei mir funktioniert.
Viraj.Hadoop
12

Für mich war es ein Problem, dass mein Benutzerkonto nicht der Eigentümer der Datei war

sudo chown myuser ~/.ssh/config
svnm
quelle
2

Standardmäßig hat chmod unter WSL (Windows-Subsystem für Linux) keine Auswirkung. Bevor Sie chmoddie in anderen Antworten genannten Dateien können , müssen Sie sie hinzufügen

[automount]
options = "metadata"

/etc/wsl.confStarten Sie anschließend die WSL neu (Build 17093 oder höher erforderlich).

Bevor mount sagt:

C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,case=off)

Nach dem Mount sagt:

C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,metadata,case=off)
Nathan Kidd
quelle