小编far*_*ace的帖子

如何让共享密钥 .ssh/authorized_keys 和 sudo 一起工作?

我已经设置了 .ssh/authorized_keys 并且能够使用 pub/private 密钥使用新的“用户”登录......我还将“用户”添加到 sudoers 列表中......我现在遇到的问题是什么时候我尝试执行一个 sudo 命令,简单的像:

$ sudo cd /root
Run Code Online (Sandbox Code Playgroud)

它会提示我输入我输入的密码,但它不起作用(我使用的是我设置的私钥密码)

另外,我已经禁用了用户的密码

$ passwd -l user
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

某处我最初的评论被误解了......

我正在尝试强化我的系统......最终目标是使用公钥/私钥进行登录而不是简单的密码身份验证。我已经想出了如何通过authorized_keys 文件来设置所有这些。

此外,我将最终阻止通过 root 帐户登录服务器。但在我这样做之前,我需要 sudo 为第二个用户(我将一直登录系统的用户)工作。

对于第二个用户,我想阻止常规密码登录并仅强制发布/私钥登录,如果我不通过“ passwd -l user 锁定用户......那么如果我不使用密钥,我仍然可以使用常规密码进入服务器。

但更重要的是,我需要让 sudo 与禁用密码的用户一起使用公钥/私钥设置。


编辑:好的,我想我已经明白了(解决方案):

1) 我已经调整了 /etc/ssh/sshd_config 并设置了PasswordAuthentication no 这将阻止 ssh 密码登录(确保在执行此操作之前设置了有效的公钥/私钥

2)我调整了sudoers列表visudo并添加了

root      ALL=(ALL) ALL
dimas     ALL=(ALL) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)

3) root 是唯一有密码的用户帐户,我正在测试两个没有设置密码的用户帐户“dimas”和“sherry”(密码为空,passwd -d user

以上基本上可以防止每个人使用密码登录系统(必须设置公钥/私钥)。

此外,sudoers 列表中的用户具有管理员权限。他们也可以su到不同的帐户。所以基本上“dimas”可以sudo su sherry,但是“dimas不能做su sherry。同样,不在sudoers列表中的任何用户都不能做su user …

linux ssh sudo ubuntu

16
推荐指数
3
解决办法
3万
查看次数

标签 统计

linux ×1

ssh ×1

sudo ×1

ubuntu ×1