SSH - PasswordAuthentication no не имеет никакого эффекта

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
vaindil
источник

Ответы:

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
Jakuje
источник
Это сделал это! Я пытался спрашивать на форумах Ubuntu, никто не знал, что с ним случилось. Спасибо!
Вайнд