Beim Anmelden über den SSH-Tunnel mit RSA-Schlüssel wird immer noch eine Kennwortabfrage angezeigt

Beim Anmelden über den SSH-Tunnel mit RSA-Schlüssel wird immer noch eine Kennwortabfrage angezeigt

Ich habe zwei Laptops (Host A und Host C) mit dynamischen IP-Adressen und einen Desktop (Host B), auf denen alle (Ubuntu) Linux laufen. Im Moment habe ich alles so eingerichtet, dass ich von Host C aus auf Host A wie folgt zugreifen kann. Ich habe einen SSH-Tunnel von A nach C mit dem Befehl auf HostA in der Form

autossh -NR 10023:localhost:22 [email protected]

Damit der Autossh-Befehl tatsächlich ausgeführt werden kann, verwende ich eine Schlüsselpaarung.

Dann kann ich von C aus per SSH auf B zugreifen und mich dann mit a verbinden mit

ssh -p 10023 localhost

fordert zur Eingabe eines Passworts auf und ich kann mich anmelden. Soweit alles problemlos.

Ich möchte jedoch die Sicherheit auf A verbessern, sodass für die Anmeldung ein Schlüssel erforderlich ist. Ich erstelle also per SSH-Keygen ein Schlüsselpaar auf HostB, nenne meinen Schlüssel customkey_rsa und gebe ihm ein Passwort. Dann ist customkey_rsa.pub der öffentliche Schlüssel. Ich kann ssh-copy-id nicht mit diesem Tunnel zum Laufen bringen, also melde ich mich einfach von C aus bei A an und übertrage customkey_rsa.pub von Host B per SCP. Dann hänge ich den Schlüssel an mit

cd .ssh & cat customkey_rsa.pub >> authorized_keys

Wenn ich mich jetzt jedoch anmelde, erhalte ich immer noch die Aufforderung zur Passworteingabe. Es sieht tatsächlich so aus, als ob es so weit kommt, den Schlüssel auszuprobieren, aber irgendwie in der letzten Sekunde aufgibt, wie unten

von B

ssh -v -i customkey_rsa -p 10023 localhost

gibt

OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Connecting to localhost [127.0.0.1] port 10023.
debug1: Connection established.
debug1: identity file customkey_rsa type 1
debug1: identity file customkey_rsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2 pat OpenSSH_6.6.1* compat 0x04000000
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: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA (redacted)
debug1: Host '[localhost]:10023' is known and matches the ECDSA host key.
debug1: Found key in /home/ohnoplus/.ssh/known_hosts:2
debug1: ssh_ecdsa_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: customkey_rsa
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: password 
ohnoplus@localhost's password: 

Beachten Sie, dass die Berechtigungen für ~/.sshin Host A lauten 700und für .ssh/authorized_keyslauten 600.

Also meine Frage. Warum hat das nicht funktioniert und wie kann ich es beheben?

Dinge, die ich mir angesehen habe und die nicht geholfen haben:

Habe die Vorschlägeliste durchgearbeitet. Bei mir sind die Berechtigungen richtig eingestellt und die anderen Lösungsansätze greifen nicht. Warum erhalte ich bei SSH mit Public-Key-Authentifizierung immer noch eine Kennwortabfrage?

Ähnlich, aber ohne Lösung: SSH mit RSA-Schlüssel fragt nach Passwort

Ich habe keine "authorized_keys2"-Datei ssh fordert trotz .ssh/authorized_keys zur Eingabe eines Passworts auf

Antwort1

Sie müssen hinzufügen:

PasswordAuthentication no

zu Ihrer sshd_config (das ist die Serverkonfiguration)

verwandte Informationen