4

Я пытаюсь настроить свой сервер на отключение аутентификации по паролю, сейчас я использую ключи. Проблема состоит в том, что PasswordAuthentication no установлен, но это не имело никакого эффекта. Мне все еще предлагается ввести пароль, хотя он установлен. Я подключаюсь к Ubuntu Server 14.04 из PuTTY на Windows 10. В ssh -v шоу сначала используется мой ключ, а затем клавиатурно-интерактивный. Я убедился, что отредактировал sshd_config , а не ssh_config . Я перезапустил ssh после применения изменений, когда это не имело никакого эффекта, я перезапустил весь сервер, но все еще не дал никакого эффекта. У меня точно такой же файл конфигурации на другом сервере 14.04 с тем же ключом , но у него нет проблем, и аутентификация пароля там отключена.

Почему аутентификация пароля не отключена, как это должно быть, и как я могу это исправить?

Это весь sshd_config за вычетом всех закомментированных строк для краткости.

Port 612
Protocol 2
HostKey /etc/ssh/ssh_host_ed25519_key
HostKey /etc/ssh/ssh_host_rsa_key

KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256,diffie-hellman-group1-sha1
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-ripemd160-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,hmac-ripemd160,umac-128@openssh.com

UsePrivilegeSeparation yes

KeyRegenerationInterval 3600
ServerKeyBits 1024

SyslogFacility AUTH
LogLevel INFO

LoginGraceTime 120
PermitRootLogin no
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes

IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no

PermitEmptyPasswords no

PasswordAuthentication no

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes

AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

UsePAM yes

1 ответ1

3

Дело в том, что аутентификация по паролю с использованием PAM (как и во всех современных системах) обрабатывается опцией ChallengeResponseAuthentication , которая по умолчанию имеет значение yes .

ChallengeResponseAuthentication

Указывает, разрешена ли аутентификация по запросу-запросу (например, через PAM). По умолчанию «да».

Это упоминается много раз в примере sshd_config .

# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.

Добавьте его в ваш sshd_config со значением no , перезапустите, и он будет работать для вас:

ChallengeResponseAuthentication no

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .