sudo без пароля при входе в систему с закрытыми ключами SSH

можно ли сделать команду sudo для поддержки закрытых ключей SSH, чтобы при входе пользователя в систему с помощью закрытого ключа он мог sudo без ввода пароля.

Это позволило бы хранить пароли системных администраторов UNIX в зашифрованном холодном хранилище и никогда не нуждаться в доступе к ним, предполагая, что пользователи используют безопасные частные ключи SSH всегда для входа на сервер.

16
задан Mikko Ohtamaa
24.04.2023 21:42 Количество просмотров материала 3348
Распечатать страницу

3 ответа

Это невозможно без серьезных изменений кода в sudo и sshd. Sudo не знает о методах входа в систему, а ssh не публикует в других программах ничего, что указывало бы, использовался ли для входа открытый ключ, пароль или какой-либо другой механизм.

Как сказал кто - то другой, вы можете использовать опцию NOPASSWD в sudoers-это будет применяться к указанным пользователям всегда, хотя, не только тогда, когда они используют ssh с закрытыми ключами.

Если вы действительно хотите, может будьте хитрости, которые вы можете сделать с помощью программы suid, которая проверяет журнал sshd и блокирует/редактирует файл sudoers, чтобы позволить этому пользователю сделать sudo без пароля, и периодическую задачу отозвать это разрешение.

все, что сказал, Я думаю, что это плохая идея. Требование пароля для привилегированных команд имеет несколько приятных преимуществ, которые не дает закрытый ключ SSH. Примечательно, что он позволяет вам иметь таймауты для аутентификации (пароль должен быть повторно введен, а не истинный для сеансов ssh), он позволяет вам иметь минимумы паролей и ротации (в отличие от ssh ключей, которые имеют парольную фразу вне контроля сервера).

4
отвечен Dagon 2023-04-26 05:30

несколько ответов указывают на sudo без отдельного пароля пользователя. Вы должны знать, что это уменьшит вашу безопасность.

для пользователя, который уже прошел строгую аутентификацию с помощью сертификата, это может не быть проблемой, потому что он обладает сертификатом, который теоретически может сделать его root.

однако, если вы думаете об уязвимостях, которые предоставят злоумышленнику ограниченную пользовательскую оболочку, и этот пользователь имеет nopasswd, установленный в файле sudoers злоумышленник является root без каких-либо учетных данных для системы на всех.

Если sudo требует пароль от пользователя, злоумышленнику нужно время и удача, чтобы повысить свои привилегии до root.

1
отвечен Sebastian Brabetz 2023-04-26 07:47

нет сохраненных паролей или ключей. Вы можете получить желаемый результат, предоставив пользователю No-password отрыть в /etc/sudoers. Просто добавьте следующую строку:

user ALL=(ALL)       NOPASSWD: ALL

обязательно используйте visudo для редактирования sudoers. Возможно, вы захотите быстро просмотреть справочную страницу sudoers, чтобы понять, что вы делаете.

0
отвечен Isaac Rabinovitch 2023-04-26 10:04

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх