Да. Это возможно с помощью пакета pam_ssh_agent_auth
, если ваш дистрибутив его предоставляет. Он может позволить вам выполнять sudo на основе модуля pam, который проверяет владение ключом ssh в ssh-agent.
pam_ssh_agent_auth
пакет из менеджера пакетовИзмените /etc/sudoers
, желательно с помощью visudo
и добавьте строку
Defaults env_keep += "SSH_AUTH_SOCK"
отредактируйте /etc/pam.d/sudo
и добавьте (второй строкой после #%PAM-1.0
)
auth sufficient pam_ssh_agent_auth.so file=/etc/security/authorized_keys
и закомментировать строку
#auth include system-auth
чтобы запретить обычную системную аутентификацию для команды sudo
Создайте "привилегированную" пару ключей, которая должна иметь доступ к команде sudo
и сохраните публичную часть как /etc/security/authorized_keys
на сервере.
ssh-keygen -t rsa -b 2048
cat ~/.ssh/id_rsa > /etc/security/authorized_keys
На клиенте откройте ssh-agent и добавьте вышеупомянутый ключ:
eval $(ssh-agent) ssh-add ~/.ssh/id_rsa
Подключаемся к серверу с переадресацией агента
ssh -K server
Запускаем sudo по желанию
Это отлично работает на системах Fedora/RHEL/CentOS, из того, что я тестировал до сих пор.
Si está probando el módulo, use sudo insmod <module_name>.ko
. Una vez que lo haya instalado, el.ko debería vivir en /usr/lib/modules/$(uname -r)/
, lo que le permitirá hacersudo modprobe <module_name>
Sin embargo, @jasonwryan es el más correcto, debe escribir un PKGBUILD. No he empaquetado un módulo kernel antes en arch, pero la wiki tiene un gran recurso, como siempre