SSH-Keygen 用户权限-问题

SSH-Keygen 用户权限-问题

我正在尝试从一台 ubuntu18.04 机器通过 SSH 连接到另一台。为此,在两台机器上创建一个单独的用户,并将该用户添加到 sudo 组中,然后编辑 sshd_config 文件中的 PubKeyAuthentication=yes,然后重新启动 ssh 服务。

然后在第一台机器上创建的用户下,生成 ssh-keygen,将该 id_rsa.pub 密钥复制到第二台机器上创建的用户下,ssh-copy-id -i id_rsa.pub newuser2@[ip-of-2ndmachine]

现在我可以不使用密码通过 ssh 连接到第二台机器,但是当我执行 apt update 时,它​​显示权限被拒绝,现在如何在不使用密码的情况下执行相同的操作?

注意:如果我提供 sudo apt update,它会询问密码,输入密码后,cmd 就会执行。

有人可以帮助我在第二台机器上执行所有命令,而无需向新用户(非 root)提供密码。

答案1

Apt 命令必须以超级用户权限执行,通常通过使用 sudo。这通常需要您输入密码。您可以在第二台机器上为apt命令设置无密码 sudo,或者更安全地为特定apt命令设置无密码 sudo,以实现您的目标。

要设置无密码 sudo,您需要已经拥有 sudo 访问权限visudo,因为用于编辑 sudoers 文件的命令是另一个需要 root 级别权限的命令。

要使用默认文本编辑器编辑 sudoers 文件:

sudo visudo

添加以下行以允许无密码访问所有apt命令(将用户替换为您的实际用户名):

user ALL= NOPASSWD: /usr/bin/apt

尽可能限制 sudo 访问会更安全,因此如果您知道可能运行的精确命令,请输入这些命令:

user ALL= NOPASSWD: /usr/bin/apt update
user ALL= NOPASSWD: /usr/bin/apt upgrade

关闭文件并保存更改以启用新的访问级别,您仍然需要使用sudo您的命令,但不需要输入密码。

请注意,sudo过于随意地授予无密码访问权限可能会破坏系统的安全性。如果操作不当,则意味着任何可以以您的用户身份登录的人都可以将其权限提升到 root 级别并在您的系统上执行任何操作。

相关内容