Я настроил настольную установку Ubuntu 10.04LTS, чтобы разрешить только аутентификацию с открытым ключом.

РЕЗУЛЬТАТ: аутентификация с открытым ключом работает отлично!

ВОПРОС: Проблема в том, что, несмотря на то, что он настроен на прием только аутентификации с открытым ключом, клиент по- прежнему принимает аутентификацию по паролю - почему?

Конечно, можно было бы использовать некоторые предложения, поскольку я видел и следил за предложениями здесь: ssh: все еще можно использовать пароль после установки ключа

После следующих предложений безуспешно:

  • chmod 700 /home//.ssh
  • chmod 600 /home//.ssh/authorized_keys
  • добавлен в / etc / ssh / ssh_config:
    • Пароль Аутентификация нет
    • ChallengeResponseAuthentication нет
  • перезапущен sshd (команда: / usr / sbin / service ssh restart).

Клиентский / etc / ssh / ssh_config читает:

# 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

Я упускаю другой вариант? Возможно, совпадение (хотя мне это вряд ли поможет)?

Спасибо.

answer

/etc/ssh/ssh_configдля клиента . Вы хотите установить эти параметры в конфигурационном файле сервера , то есть в /etc/ssh/sshd_config.

Я знаю, что этот вопрос действительно старый, и на него был дан ответ, но с тех пор, как у меня возникла эта проблема, это был результат поиска номер один в Google, и я решил, что помещу сюда информацию.

По какой-то причине после того, как я изменился

PasswordAuthentication yes

к

PasswordAuthentication no

в моем файле sshd_config он все еще запрашивал пароль.

Я здесь все проверил, а еще пробежал

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

Изменения в файле конфигурации просто не будут иметь никакого значения, поэтому я, наконец, попытался просто перезагрузить компьютер, и это сработало. Я предполагаю, что перезапуск /etc/init.d/ssh по какой-то причине не работал? В любом случае, я надеюсь, что это кому-то поможет.

Попробуйте установить PreferredAuthentication только на открытый ключ.