SSH fordert mich immer wieder nach meinem Passwort an, wenn ich eine andere Schlüsseldatei als die Standarddatei verwende

SSH fordert mich immer wieder nach meinem Passwort an, wenn ich eine andere Schlüsseldatei als die Standarddatei verwende

Ich habe eine Schlüsseldatei namens KEY, die KEYund enthält KEY.pub. Ich lade die öffentliche Datei in hoch authorized_keysund füge die private Datei mit hinzu

ssh-add /home/user/.ssh/KEY

Aber wenn ich versuche, eine Verbindung herzustellen , werde ich ständig nach dem Kennwort gefragt.ssh [email protected]

Wenn ich einen Schlüssel mit erzeuge ssh-keygenund den Standardschlüsselnamen belasse, den Pub hochlade und den Private lade,nichtein Passwort anfordern.

Was könnte das Problem sein?

Antwort1

Mit können Sie die Debug-Ausgabe abrufen und diese wird Ihnen wahrscheinlich mitteilen, dass die Authentifizierung mit (der Standardschlüsseldatei von SSH) nicht möglich ist. Die Antwort besteht darin, SSH mitzuteilen, welcher Schlüssel verwendet werden soll:ssh -vvv [email protected]~/.ssh/id_rsa

ssh -i /home/user/.ssh/KEY [email protected]

Sie können auch Ihre Host-Schlüsseldatei zu Ihrem hinzufügen .ssh/config, dann müssen Sie nur noch eingeben ssh host.comund Benutzer/Schlüssel werden automatisch ausgewählt.

Beispieleintrag für .ssh/config(Weitere Informationen finden Sie unter man ssh_config):

Host mysshserver ssh.host.com
HostName ssh.host.com
User myusername
IdentityFile ~/.ssh/mykeyfile


Erklärung der Schlüsseldateien von man ssh:

 -i identity_file
             Selects a file from which the identity (private key) for RSA or
             DSA authentication is read.  The default is ~/.ssh/identity for
             protocol version 1, and ~/.ssh/id_rsa and ~/.ssh/id_dsa for pro‐
             tocol version 2.  Identity files may also be specified on a per-
             host basis in the configuration file.  It is possible to have
             multiple -i options (and multiple identities specified in config‐
             uration files).

Antwort2

So richten Sie Ihre Schlüsseldateien richtig ein (How-ToHier), beachte das Folgende:

Falls Ihr Host- .sshVerzeichnis und Ihre Dateien nicht über die richtigen Berechtigungen verfügen UND/ODER Ihr Remote-Benutzer-Home-Verzeichnis nicht über die richtigen Berechtigungen verfügt, fragt SSH weiterhin nach dem Kennwort, obwohl es die Schlüsseldatei findet.

Ob Ihre Schlüsseldatei/en angeboten werden, können Sie sehen mitssh -vvv user@host

Beispielausgabe:

debug1: Offering DSA public key: /Users/<user>/.ssh/id_dsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password

Überprüfen Sie sowohl .sshdie Berechtigungen für das Home-Verzeichnis des Remote-Benutzers als auch für das Remote-Verzeichnis.

Die Berechtigungen sollten beispielsweise wie folgt lauten:

$ls -ld .ssh
drwx------ 2 <owner> <group> 4096 2011-12-29 20:39 .ssh

$ls -ld ~/
drwxr-xr-x 28 <owner> <group> 4096 2011-12-29 20:15 /home/<user>/ 

verwandte Informationen