我目前正在实验室做一些工作,我想部署脚本,让用户只通过ssh使用ssh密钥进行身份验证,并每90天旋转一次这些密钥

这些用户需要在计算机上拥有根权限

在写了一些剧本之后

但是有些事情让我不安,为了让用户在使用密钥进行ssh身份验证后成为根用户,我需要为那些用户在sudoers文件中添加nopasswd arg

从安全的角度看,这是否可以接受?

谢谢你的帮助

最佳回复

我认为您必须使用nopasswd,因为您已经删除了这些用户的unix密码? 如果是,另一种方法是利用 Match UserAuthenticationMethods 在/etc/ssh/sshd_配置中。

Match User foobar
    AuthenticationMethods publickey

这应该会禁用除了publickey以外的所有东西作为用户foobar的登录方法,同时仍然允许控制台使用密码登录,从而使用密码sudo。