我正在跟进这设置基于密钥的 SSH 访问的教程
ssh-copy-id <username>@<host>
我创建了一个用户。我通过Because将密钥复制到客户端,ssh <username>@<host>
仍然提示输入密码,我ssh-add
在本地机器上运行。终端不提示输入密码,我可以不使用密码登录。
但我不能再跑su
了。每次输入密码都会得到Authentication failure
。
我又试了一次。但在复制密钥之前,我将其添加到了 sudoer 文件中。复制密钥后,ssh-add。但现在我根本无法登录到我的 SSH shell?
我如何设置基于密钥的 SSH 访问以便使用su
或sudo
?
答案1
在这种设置中,您必须选择是继续使用 sudo 和 su 的密码,还是设置 sudo 以无需密码即可工作(我对此提出警告,尤其是在已经使用 ssh 密钥登录的情况下)。
确保帐户仍设置了密码 - 如果您希望能够安全地使用 sudo,则应在 sshd 配置中阻止密码登录,而不是通过将用户设置为禁用密码来阻止。在此设置中,您仍需要在控制台和 sudo 上使用密码进行本地登录,但您无法将它们用于 SSH 连接。