Я настроил .ssh / authorized_keys и могу войти в систему с новым "пользователем", используя pub / private ключ ... Я также добавил "user" в список sudoers ... проблема, которая у меня сейчас возникает, когда Я пытаюсь выполнить команду sudo, например:
$ sudo cd /root
мне будет предложено ввести пароль, который я ввожу, но он не работает (я использую пароль, который я установил)
Кроме того, я отключил пароль пользователя с помощью
$ passwd -l user
Что мне не хватает?
Где-то мои первоначальные замечания были неправильно поняты ...
Я пытаюсь укрепить свою систему ... конечная цель - использовать публичные / закрытые ключи для входа в систему вместо простой аутентификации по паролю. Я разобрался, как все это настроить с помощью файла authorized_keys.
Кроме того, в конечном итоге я буду предотвращать вход на сервер через учетную запись root. Но прежде чем сделать это, мне нужно, чтобы sudo работал для второго пользователя (пользователя, который будет постоянно входить в систему).
Для этого второго пользователя я хочу запретить регулярные входы в систему с паролем и принудительно входить только в паб / закрытый ключ, если я не блокирую пользователя с помощью "passwd -l user ... тогда, если я не использую ключ, я все еще могу попасть на сервер с обычным паролем.
Но что более важно, мне нужно заставить sudo работать с настройкой паб / закрытый ключ с пользователем, у которого его / ее пароль отключен.
Редактировать: ОК, я думаю, что у меня есть (решение):
1) Я настроил / etc / ssh / sshd_config и установил PasswordAuthentication no
Это предотвратит вход в систему с паролем ssh (убедитесь, что перед этим настроена работающая настройка открытого / закрытого ключа).
2) Я настроил список sudoers visudo
и добавил
root ALL=(ALL) ALL
dimas ALL=(ALL) NOPASSWD: ALL
3) root - единственная учетная запись пользователя, которая будет иметь пароль, я тестирую с двумя учетными записями пользователей "dimas" и "sherry", у которых не установлен пароль (пароли пустые passwd -d user
)
Вышесказанное, по сути, запрещает всем входить в систему с паролями (необходимо установить открытый / закрытый ключ).
Кроме того, пользователи в списке sudoers имеют права администратора. Они могут также su
на разные аккаунты. Таким образом, в основном «dimas» может sudo su sherry
, однако «dimas НЕ МОЖЕТ сделать su sherry
. Точно так же любой пользователь НЕ в списке sudoers НЕ МОЖЕТ сделать su user
или sudo su user
.
ПРИМЕЧАНИЕ Вышеуказанное работает, но считается плохим. Любой сценарий, который может получить доступ к коду как "dimas" или "sherry" пользователи, сможет выполнить sudo для получения root-доступа. Ошибка в ssh, которая позволяет удаленным пользователям входить в систему, несмотря на настройки, удаленное выполнение кода в чем-то вроде Firefox или любой другой недостаток, который позволяет запускать нежелательный код, поскольку пользователь теперь может запускаться от имени пользователя root. Sudo всегда должен требовать пароль, иначе вы можете войти в систему как пользователь root, а не какой-либо другой пользователь.