Можно ли сделать Sudo команду поддержки SSH закрытых ключей, так что, когда логины с помощью секретного ключа, то он / она может SUDO без ввода пароля.
Это позволит хранить пароли в UNIX сисадмина в зашифрованных холодильниках и никогда не должны получить доступ к ним, при условии, что пользователи используют безопасные ключи частной SSH всегда вход в системе на сервере.
sudo visudo
и изменить свой пароль , чтобыNOPASSWD: ALL
увидеть , если это работаетОтветы:
Возможность сделать это существует с (по крайней мере) апреля 2014 года .
Вам нужно будет установить пакет под названием
pam_ssh_agent_auth
(доступный для Centos 7 из коробки, YMMV), а затем настроить ,/etc/pam.d/sudo
чтобы принять его в качестве способа авторизации. Наконец, вы можете добавитьSSH_AUTH_SOCK
в список переменных окружения , которые сохраняются в течениеsudo
.В Gentoo есть подробная информация об этих шагах.
источник
Это невозможно без серьезных изменений кода в sudo и sshd. Sudo не знает о методах входа в систему, и ssh не публикует в других программах ничего, что указывало бы, использовался ли для входа открытый ключ, пароль или какой-либо другой механизм.
Как кто-то еще сказал, вы можете использовать опцию NOPASSWD в sudoers - это будет применяться к указанным пользователям всегда, но не только, когда они используют ssh с закрытыми ключами.
Если вы действительно хотите, может быть трюки, которые вы можете сделать с Suid программой, которая проверяет журнал SSHD и замки / редактирует файл sudoers, чтобы позволить этому пользователю делать не-пароль Sudo и периодической задачи отозвать это разрешение.
Все, что сказал, я думаю, что это плохая идея. Запрос пароля для привилегированных команд имеет несколько приятных преимуществ, которых нет у закрытого ключа SSH. Примечательно, что позволяет иметь время ожидания для AUTH (пароль должен быть повторно введен, не верно для SSH сессий), это позволяет иметь пароль минимумы и вращение (в отличие от SSH ключей, которые имеют ключевую фразу вне контроля сервера).
источник
Несколько ответов Поинта SUDO без отдельного пользователя Пароль. Вы должны знать, что это снизит вашу безопасность.
Для пользователя, который уже проходит проверку подлинности с помощью сертификата, это не может быть проблемой, потому что он находится во владении сертификата, который теоретически мог бы сделать его корень.
Однако, если вы думаете о том, что будет области уязвимостей предоставляют злоумышленник с ограниченной оболочкой пользователя и этот пользователь имеет NOPASSWD, установленный в sudoers файл злоумышленник корень, не имея какие-либо полномочия в систему на всех.
Если Судо требует пароля от пользователя атакующему нужно времени и удачи нагнетать его привилегию корень.
источник