
Vor kurzem habe ich meinen Desktop vom Ubuntu-Standarddesktop (Unity) zum Kubuntu-Desktop geändert. Was ich nicht verstehe, ist, warum dies Fehler bei meiner SSH-Schlüsseldateikonfiguration verursacht.
FE gibt es einen „Benutzer“-Benutzer auf dem „Host“-Computer, bei dem einer meiner Schlüssel (der PK befindet sich lokal in ~/.shh) zu den autorisierten Schlüsseln hinzugefügt wurde. Was ich tun möchte, ist:
ssh user@host
Dies hat in Unity einwandfrei funktioniert (wenn ich zurück zu Unity wechsle, funktioniert es immer noch), aber wenn ich mich beim Kubuntu-Desktop anmelde, werde ich zur Eingabe des Kennworts aufgefordert.
Dies funktioniert auf beiden Desktops einwandfrei:
ssh user@host -i ~/.ssh/key
Ich vermute also, dass das SSH-Programm meine Schlüsseldateien nicht findet – aber warum ist der Desktop wichtig und wie kann ich das beheben?
Der relevante Teil aus meinem lokalen .ssh-Verzeichnis (ls -la):
drwx------ 2 szaboadam szaboadam 4096 okt 7 16:32 .
-rw------- 1 szaboadam szaboadam 1675 okt 7 16:32 key
-rw-r--r-- 1 szaboadam szaboadam 415 okt 7 16:32 key.pub
Und vom .ssh-Verzeichnis des Servers:
drwx------ 2 git git 4096 Oct 7 16:33 .
-rwx------ 1 git git 566 Oct 7 16:33 authorized_keys
Ich verwende Ubuntu 14.04. Danke für die Hilfe!
Antwort1
Es ist seltsam, dass der Befehl unter Unity funktioniert, da die Schlüssel normalerweise ausgelesen werden, ~/.ssh/id_*
sofern sie nicht überschrieben werden. Sie können key
und key.pub
in id_*
bzw. umbenennen id_*.pub
, wobei , , oder *
ist , je nach Art des Schlüssels (den Sie aus der öffentlichen Schlüsseldatei erhalten können).dsa
rsa
ecdsa
ed25519
Alternativ können Sie auch ~/.ssh/config
darin erstellen IdentityFile ~/.ssh/key
.
BEARBEITEN:Sie können auch ~/.ssh/config
Schlüssel pro Host angeben, mit Dingen wie
Host host1
IdentityFile ~/.ssh/key1
Host host2
IdentityFile ~/.ssh/key2