我正在尝试从一个ubuntu18.04机器到另一个的SSH。为此,在两台机器中创建了一个单独的用户,并在sudo组中添加了该用户,并为PubKeyAuthentication=yes编辑了PubKeyAuthentication=yes文件,并重新启动了ssh服务。
然后在第一台计算机中的createduser下生成ssh-keygen,将该id_rsa.pub密钥复制到创建的用户下的第二台计算机ssh-copy id -i id_rsa.pub newuser2 2@ip-of-2 2 2ndmachine。
现在我可以在没有密码的情况下对第二台机器进行ssh,但是当我执行apt更新时,它的显示权限被拒绝了,现在如何不使用密码执行相同的操作呢?
注意:如果我给sudo apt更新,它的询问密码,在传递密码后,cmd正在执行。
谁能帮我在第二台机器上执行所有的cmds而不提供密码给新用户(不是根用户)。
发布于 2019-07-24 08:47:41
Apt命令必须以超级用户权限执行,通常通过使用sudo来执行。这通常需要你输入密码。您可以在第二台机器上为apt命令设置无密码的sudo,或者更安全地设置特定的apt命令以实现您的目标。
要设置无密码sudo,您需要已经具有sudo访问权限,因为用于编辑sudoers文件的visudo逗号是另一个需要根级特权的命令。
要使用默认文本编辑器编辑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访问可能会破坏系统的安全性。当操作不正确时,这意味着任何可以以用户身份登录的人都可以将他们的权限提升到根级,并在您的系统上做任何事情。
https://askubuntu.com/questions/1160641
复制相似问题