当我在 PuTTY 中使用 SSH 密钥登录时如何使用 sudo?

当我在 PuTTY 中使用 SSH 密钥登录时如何使用 sudo?

我知道这个标题可能毫无意义,但无论如何。我下载了PuTTY并进行了设置,然后按照本教程设置 SSH 密钥,这样我就不必在使用 SSH 登录时输入用户或密码。我注意到,当我创建新用户时,我使用了参数--disabled-password,因为我不需要它……但现在,当我授予用户 sudo 权限时,我无法继续,因为它要求我输入用户的密码,而我没有密码。

我该怎么办?

答案1

您只需将 sudo 配置为不询问密码:
文件中/etc/sudoers有一些以用户名或组名开头的行(组名以“%”开头)。选择所需的行并添加选项NOPASSWD。示例:
%sudo ALL=(ALL) NOPASSWD: ALL
这将允许属于名为 sudo 的组的每个用户无需密码即可使用 sudo。
注意:很容易出错!

有关详细信息,请参阅man sudoers

您可以/etc/sudoers手动编辑,但建议使用visudo命令(它将启动文本编辑器,一旦您退出,将检查文件的正确性。如果出现任何故障,文件将保持不变)。

答案2

在 /etc/ssh/sshd_config 中禁用密码验证

PasswordAuthentication no

重新启动 sshd。

然后为用户设置密码。由于您创建了用户,因此您拥有 root 访问权限,因此作为 root

passwd user
Changing password for user user.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

这样你就可以使用 sudo 了。

答案3

您可以以 root 身份登录并设置密码吗?

你应该这样做:

  1. 生成 SSH 密钥
  2. 确保你可以使用 ssh 密钥登录
  3. 确保你可以使用 sudo 来 root
  4. 在 sshd_conf 中禁用密码验证
  5. 在 sshd_conf 中禁用 root 登录

相关内容