Назад | Перейти на главную страницу

ssh: можно использовать пароль после установки ключа

Я последовал за этот руководство по настройке SSH. Теперь он запрашивает парольную фразу, но когда я ничего не набираю и нажимаю return, он запрашивает пароль, и я могу использовать его для входа в систему. Как я могу это предотвратить?

Мой sshd_config как следует:

Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
UsePrivilegeSeparation yes

KeyRegenerationInterval 3600
ServerKeyBits 768

SyslogFacility AUTH
LogLevel VERBOSE

LoginGraceTime 20
PermitRootLogin no
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes

IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no

PermitEmptyPasswords no

ChallengeResponseAuthentication yes

PasswordAuthentication no

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes

AcceptEnv LANG LC_*

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

UsePAM yes

Вы выключили PasswordAuthentication (т.е. sshdвстроенная аутентификация по паролю), но была включена ChallengeResponseAuthentication (т.е. аутентификация через PAM, что по умолчанию означает аутентификацию по паролю). Если вам нужна только аутентификация на основе ключей, отключите ChallengeResponseAuthentication.

Вы перезапустили демон ssh?

Вы проверяли владельца и разрешение каталога .ssh?

Его каталог и файлы внутри должны принадлежать идентификатору входа. Каталог должен иметь разрешение 700 (доступ разрешен только зарегистрированному пользователю), а файлов должно быть 600.

Похоже, вы назначили парольную фразу своему закрытому ключу. Это то, что вам будет предложено при попытке подключения. Вам нужно будет удалить это, чтобы закрытый ключ больше не был зашифрован. Вы можете воссоздать ключ, установив пустой пароль (а также введя его в файл allowed_hosts). Либо установите пустую парольную фразу из текущего ключа, используя ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]


- Кристофер Карел