Я пытаюсь настроить беспарольный логин от machineA
до machineB
моего пользователя , david
который уже выходит. Вот что я сделал для генерации ключей аутентификации:
david@machineA:~$ ssh-keygen -t rsa
........
david@machineB:~$ ssh-keygen -t rsa
........
После этого я скопировал id_rsa.pub
(/home/david/.ssh/id_rsa.pub)
ключ machineA
в machineB
authorized_keys
файл (/home/david/.ssh/authorized_keys)
ключа.
А потом я вернулся на экран входа в систему machineA и запустил команду ниже, и она работала нормально без каких-либо проблем. Таким образом, я смог войти machineB
как Давид, не спрашивая пароль.
david@machineA:~$ ssh david@machineB
Вопрос:
Теперь я создал новый пользователь machineA
и machineB
одновременно выполнив эту команду useradd golden
. И теперь я хочу ssh без пароля от этого golden
пользователя в machineB
от machineA
. Я сделал тот же самый шаг, что и выше, но он не работает.
david@machineA:~$ sudo su - golden
golden@machineA:~$ ssh-keygen -t rsa
........
david@machineB:~$ sudo su - golden
golden@machineB:~$ ssh-keygen -t rsa
........
А потом я скопировал id_rsa.pub
ключ /home/golden/.ssh/id_rsa.pub
для золотого пользователя из machineA
к machineB
authorized_keys
файлу /home/golden/.ssh/authorized_keys
. И когда я пытаюсь ssh, это дает мне:
golden@machineA:~$ ssh golden@machineB
Connection closed by 23.14.23.10
Что не так? Это не работает только для пользователя, который я создал вручную с помощью этой команды useradd
. Я использую Ubuntu 14.04. Есть ли какие-либо настройки, которые мне нужно включить для этого пользователя, которого я создал?
В machineB
auth.log
файле ниже показано, что я вижу, когда запускаю эту команду с компьютера A ssh -vvv golden@machineB
для входа
Jan 3 17:56:59 machineB sshd[25664]: error: Could not load host key: /etc/ssh/ssh_host_ed25519_key
Jan 3 17:56:59 machineB sshd[25664]: pam_access(sshd:account): access denied for user `golden' from `machineA'
Jan 3 17:56:59 machineB sshd[25664]: pam_sss(sshd:account): Access denied for user golden: 10 (User not known to the underlying authentication module)
Jan 3 17:56:59 machineB sshd[25664]: fatal: Access denied for user golden by PAM account configuration [preauth]
Есть ли что-то, что я пропускаю? Ниже показано, как выглядит моя структура каталогов:
golden@machineA:~$ pwd
/home/golden
golden@machineA:~$ ls -lrtha
total 60K
-rw------- 1 golden golden 675 Nov 22 12:26 .profile
-rw------- 1 golden golden 3.6K Nov 22 12:26 .bashrc
-rw------- 1 golden golden 220 Nov 22 12:26 .bash_logout
drwxrwxr-x 2 golden golden 4.0K Nov 22 12:26 .parallel
drwxr-xr-x 2 golden golden 4.0K Nov 22 12:34 .vim
drwxr-xr-x 7 root root 4.0K Dec 22 11:56 ..
-rw------- 1 golden golden 17K Jan 5 12:51 .viminfo
drwx------ 2 golden golden 4.0K Jan 5 12:51 .ssh
drwx------ 5 golden golden 4.0K Jan 5 12:51 .
-rw------- 1 golden golden 5.0K Jan 5 13:14 .bash_history
golden@machineB:~$ pwd
/home/golden
golden@machineB:~$ ls -lrtha
total 56K
-rw------- 1 golden golden 675 Dec 22 15:10 .profile
-rw------- 1 golden golden 3.6K Dec 22 15:10 .bashrc
-rw------- 1 golden golden 220 Dec 22 15:10 .bash_logout
drwxr-xr-x 7 root root 4.0K Jan 4 16:43 ..
drwx------ 2 golden golden 4.0K Jan 5 12:51 .ssh
-rw------- 1 golden golden 9.9K Jan 5 12:59 .viminfo
drwx------ 6 golden golden 4.0K Jan 5 12:59 .
-rw------- 1 golden golden 4.6K Jan 5 13:10 .bash_history
Обновить:
В machineA
:
cat /etc/passwd | grep golden
golden:x:1001:1001::/home/golden:/bin/bash
В machineB
:
cat /etc/passwd | grep golden
golden:x:1001:1001::/home/golden:/bin/bash
/etc/passwd
запись для пользователя?Ответы:
Проблема заключается в конфигурации стека PAM. Ваш хост настроен на,
pam_access
и конфигурация по умолчанию не позволяет внешний / SSH доступ для нового пользователяgolden
, даже если ваши ключи настроены правильно.Добавление
golden
пользователя в,/etc/security/access.conf
как показано ниже, решило проблему.+:golden:ALL
Чтобы увидеть больше информации, прочитайте,
man access.conf
где объясняется каждое поле этого файла. Посмотрите на раздел примеров, чтобы понять порядок и значения LOCAL, ALL и т. Д.источник
У меня была та же проблема, и ни один из предложенных вариантов не работал. Но я нашел на одном из форумов ( https://ubuntuforums.org/showthread.php?t=1960510 ) «обходной путь», который работал отлично.
Редактировать
/etc/ssh/sshd_config
и установитьХотя это, вероятно, и не настоящее решение, потому что что-то определенно не так с моей машиной (вчера она работала нормально!), Эта по крайней мере работает.
источник
Пожалуйста, добавьте следующее в
/etc/security/access.conf
:источник
-:ALL:EXCEPT root
в систему/etc/security/access.conf
, он начал работать.