В настоящее время я использую ключи ssh для подключения к своему серверу (Ubuntu 18.04). Я хотел бы разрешить (в определенной, ограниченной области) возможность входа с паролями.
Всякий раз, когда я пытаюсь ввести пароль, он не подходит. Ниже представлен сеанс, в котором я устанавливаю пароль, а затем пытаюсь его использовать:
~ # id
uid=0(root) gid=0(root) groups=0(root)
~ # passwd
Enter new UNIX password: <helloworld>
Retype new UNIX password: <helloworld>
passwd: password updated successfully
~ # ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no [email protected]
The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:AlFtwpK4EhhaMXP5aT6fuQM9u9RYPq/o/sLJXfz++jM.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts.
[email protected]'s password: <helloworld>
Permission denied, please try again.
Прошу прощения, если это очевидно, но я понятия не имею, почему сервер принимает новый пароль, затем принимает вход с паролем, а затем в конце отклоняет учетные данные.
EDIT: sshd_config
файл, который мне не удалось добавить
~ # cat /etc/ssh/sshd_config | grep -v ^# | grep -v ^$ root@srv
Port 22
PasswordAuthentication no
ChallengeResponseAuthentication no
GSSAPIAuthentication no
UsePAM yes
PrintMotd no
UseDNS no
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
Match Address 192.168.10.0/24,192.168.20.0/24,127.0.0.0/8
PasswordAuthentication yes
решение1
Вход не удался, так как для отсутствует настройка со PermitRootLogin
значением /etc/ssh/sshd_config
по умолчанию prohibit-password
, что означает, что вход по паролю для отключен root
.
Добавление
PermitRootLogin yes
к Match
блоку будет разрешен root
вход с использованием пароля или аутентификации с открытым ключом.
Другой вариант — использовать другого пользователя.