ssh akzeptiert weiterhin die Kennwortauthentifizierung, obwohl es nur für die Authentifizierung mit öffentlichem Schlüssel konfiguriert ist (was funktioniert!).

9

Ich habe eine Ubuntu 10.04LTS-Desktop-Installation so konfiguriert, dass nur die Authentifizierung mit öffentlichem Schlüssel möglich ist.

ERGEBNIS: Die Authentifizierung mit öffentlichem Schlüssel funktioniert einwandfrei!

FRAGE: Das Problem ist, dass der Client trotz der Konfiguration, die nur die Authentifizierung mit öffentlichem Schlüssel akzeptiert, immer noch die Kennwortauthentifizierung akzeptiert - warum?

Sicher könnten einige Vorschläge verwendet werden, wie ich die Vorschläge hier gesehen und befolgt habe: ssh: kann nach dem Setzen des Schlüssels immer noch ein Passwort verwenden

Kein Erfolg nach Befolgung dieser Vorschläge:

  • chmod 700 /home//.ssh
  • chmod 600 /home//.ssh/authorized_keys
  • hinzugefügt zu / etc / ssh / ssh_config:
    • PasswordAuthentication No.
    • ChallengeResponseAuthentication-Nr
  • sshd neu gestartet (Befehl: / usr / sbin / service ssh restart).

Die / etc / ssh / ssh_config des Clients lautet:

# This is the ssh client system-wide configuration file.  See
# ssh_config(5) for more information.  This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.

# Configuration data is parsed as follows:
#  1. command line options
#  2. user-specific file
#  3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.

# Site-wide defaults for some commonly used options.  For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.

Host *
#   ForwardAgent no
#   ForwardX11 no
#   ForwardX11Trusted yes
#   RhostsRSAAuthentication no
    RSAAuthentication yes
    PasswordAuthentication no
    PermitRootLogin no
    PubKeyAuthentication yes
    ChallengeResponseAuthentication no
#   HostbasedAuthentication no
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   GSSAPIKeyExchange no
#   GSSAPITrustDNS no
#   BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   Port 22
#   Protocol 2,1
#   Cipher 3des
#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-c                                                    bc,3des-cbc
#   MACs hmac-md5,hmac-sha1,[email protected],hmac-ripemd160
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
#   VisualHostKey no
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no

Vermisse ich eine andere Option? Vielleicht passen (obwohl mir das wahrscheinlich nicht hilft)?

Vielen Dank.

rfreytag
quelle
Haben Sie ssh neu gestartet?
Soße Gesicht
Ja - gute Idee. Als erstes habe ich es versucht.
Rfreytag

Antworten:

18

/etc/ssh/ssh_configist für den Kunden . Sie wollen , dass diese Optionen auf das setzen Server - Konfigurationsdatei, die ist /etc/ssh/sshd_config.

EEAA
quelle
1

Ich weiß, dass diese Fragen sehr alt sind und beantwortet wurden, aber seit ich dieses Problem hatte, war dies das Suchergebnis Nummer eins bei Google. Ich dachte, ich würde die Informationen hier einfügen.

Aus irgendeinem Grund, nachdem ich mich verändert hatte

PasswordAuthentication yes

zu

PasswordAuthentication no

In meiner Datei sshd_config wurde immer noch nach dem Passwort gefragt.

Ich hatte hier alles überprüft und war auch gelaufen

sudo /etc/init.d/ssh restart #or sshd

Die Änderungen an der Konfigurationsdatei würden keinen Unterschied machen, also habe ich endlich versucht, den Computer neu zu starten, und das hat funktioniert. Ich denke, der Neustart von /etc/init.d/ssh hat aus irgendeinem Grund nicht funktioniert? Wie auch immer, ich hoffe das hilft jemandem.

trueCamelType
quelle
Für mich habe ich nichts geändert, da die Konfiguration von Anfang an auf digitalocean so eingestellt war. jedoch ein Neustart von sshd über sudo systemctl restart sshdfunktioniert. Scheint wie ein Fehler in der Tröpfcheninitialisierung von Digitalocean, aber was auch immer
aaaaaa
0

Versuchen Sie, PreferredAuthentications nur auf publickey zu setzen.

Kennzeichen
quelle