![仅使用 ssh 密钥进行身份验证](https://linux22.com/image/743766/%E4%BB%85%E4%BD%BF%E7%94%A8%20ssh%20%E5%AF%86%E9%92%A5%E8%BF%9B%E8%A1%8C%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81.png)
我目前正在实验室里做一些工作,我想部署脚本让用户仅通过 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 登录。