Я настроил .ssh/ авторизованный_кей и могу войти в систему с новым "пользователем", используя паб / закрытый ключ ... Я также добавил "пользователя" в список 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
для разных учетных записей. Таким образом, в основном "Димас" может sudo su sherry
, однако «Димас не может делать su sherry
. Точно так же любой пользователь, НЕ находящийся в списке sudoers, не может делать su user
или sudo su user
.
ПРИМЕЧАНИЕ . Вышеуказанное работает, но считается плохим. Любой сценарий, который может получить доступ к коду как "dimas" или "sherry" пользователи, сможет выполнить sudo для получения root-доступа. Ошибка в ssh, которая позволяет удаленным пользователям входить в систему, несмотря на настройки, удаленное выполнение кода в чем-то вроде Firefox или любой другой недостаток, который позволяет запускать нежелательный код, поскольку пользователь теперь может запускаться от имени пользователя root. Sudo всегда должен требовать пароль, иначе вы можете войти в систему как пользователь root, а не какой-либо другой пользователь.