Ich muss SSH auf meinem Computer verwenden, um auf meine Website und deren Datenbanken zuzugreifen (Einrichten eines symbolischen Links, aber ich schweife ab).
Folgendes Problem: Ich gebe den Befehl ein: ssh-keygen -t dsa
Um ein öffentliches / privates DSA-Schlüsselpaar zu generieren. Ich speichere es in der Standardeinstellung ( /home/user/.ssh/id_dsa
): Und gib die Passphrase zweimal ein
dann bekomme ich das zurück:
WARNUNG: NICHT GESCHÜTZTE PRIVATE SCHLÜSSELDATEI!
Die Berechtigungen 0755 für '/home/etc.ssh/id_rsa' sind zu offen. Es wird empfohlen, dass Ihre privaten Schlüsseldateien NICHT für andere zugänglich sind. Dieser private Schlüssel wird ignoriert. schlechte Berechtigungen: Schlüssel ignorieren: [dann der DATEIPFAD in VAR / LIB / SOMEWHERE]
Um das jetzt zu umgehen, habe ich dann versucht-
sudo chmod 600 ~/.ssh/id_rsa sudo chmod 600 ~/.ssh/id_rsa.pub
Aber kurz nachdem mein Computer eingefroren war und sich wieder anmeldete, gab es eine could not find .ICEauthority error
. Ich habe dieses Problem umgangen und die SSH-Dateien gelöscht, möchte aber die richtigen Berechtigungen verwenden, um diese Probleme in Zukunft zu vermeiden. Wie sollte ich ICEauthority einrichten oder wo sollte ich die SSH-Schlüssel speichern - oder welche Berechtigungen sollten sie haben? Wäre die Verwendung einer virtuellen Maschine am besten?
Das ist alles sehr neu und ich befinde mich in einer sehr steilen Lernkurve, daher wird jede Hilfe geschätzt.
chmod -R 600 ~/.ssh
.chmod 700 $HOME/.ssh
undchmod 600 $HOME/.ssh/id_rsa
chmod
Befehle. Entweder ist es ein Zufall, oder Sie haben einige andere Befehle ausgeführt, die Sie uns nicht zeigen.Antworten:
chmod 600 ~/.ssh/id_rsa; chmod 600 ~/.ssh/id_rsa.pub
(dhchmod u=rw,go= ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
) sind korrekt.chmod 644 ~/.ssh/id_rsa.pub
(dhchmod a=r,u+w ~/.ssh/id_rsa.pub
) wäre auch richtig, aberchmod 644 ~/.ssh/id_rsa
(dhchmod a=r,u+w ~/.ssh/id_rsa
) wäre nicht. Ihr öffentlicher Schlüssel kann öffentlich sein. Wichtig ist, dass Ihr privater Schlüssel privat ist.Auch Ihr
.ssh
Verzeichnis selbst darf nur von Ihnen beschreibbar sein:chmod 700 ~/.ssh
oderchmod u=rwx,go= ~/.ssh
. Sie müssen natürlich in der Lage sein, es zu lesen und auf Dateien darin zuzugreifen (Ausführungsberechtigung). Es ist nicht direkt schädlich, wenn andere es lesen können, aber es ist auch nicht nützlich.Das brauchst du nicht
sudo
. Verwenden Siesudo
diese Option nicht , um Ihre eigenen Dateien zu manipulieren, da dies nur zu Fehlern führen kann.Der Fehler in
.ICEauthority
Bezug auf hat nichts mit denchmod
angezeigten Befehlen zu tun. Entweder ist es ein Zufall, oder Sie haben einige andere Befehle ausgeführt, die Sie uns nicht zeigen.quelle
Ich möchte zu den obigen Antworten hinzufügen, dass mein Ausgangsverzeichnis (
~/
) auch die Berechtigungen haben musste755
, unabhängig von den Berechtigungen von~/.ssh
und den darin enthaltenen Dateien. (Dies war auf einem Synology NAS und gilt möglicherweise nicht für alle Linux-Betriebssysteme.)quelle