仅使用 ssh 密钥进行身份验证

仅使用 ssh 密钥进行身份验证

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

这些用户需要拥有机器的 root 权限

写了一些脚本之后我得到了一些东西

但有些事情让我感到困扰,为了让用户在使用密钥进行 ssh 身份验证后成为 root 权限,我需要在我的 sudoers 文件中为这些用户添加 NOPASSWD 参数

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

感谢您的帮助

答案1

我假设您必须使用 NOPASSWD,因为您已经删除了这些用户的 unix 密码?如果是这样,另一种方法是使用/etc/ssh/sshd_config 中的Match User和。AuthenticationMethods

Match User foobar
    AuthenticationMethods publickey

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

相关内容