You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

已配置SSH密钥登录的新用户执行sudo仍需输入密码的问题求助

已配置SSH密钥登录的新用户执行sudo仍需输入密码的问题求助

嗨,我懂你的困扰——SSH密钥登录和sudo免密是两个独立的配置逻辑,所以哪怕你搞定了密钥登录,sudo还是会默认要求密码验证。别担心,咱们几步就能解决这个问题:

方法一:让整个sudo组的用户都免密执行sudo

这是最常用的方案,毕竟你已经把新用户加入了sudo组:

  1. 先用拥有sudo权限的用户(比如初始root或你的管理员账号)登录服务器,执行下面的命令编辑sudo配置文件(务必用visudo,它会自动检查语法错误,避免误操作导致sudo失效):
    sudo visudo
    
  2. 在文件里找到这一行默认配置:
    %sudo   ALL=(ALL:ALL) ALL
    
  3. 修改为:
    %sudo   ALL=(ALL:ALL) NOPASSWD:ALL
    
  4. 保存退出(如果用的是nano编辑器,按Ctrl+O保存,Ctrl+X退出)。

方法二:仅给特定新用户开启sudo免密

如果你不想让所有sudo组用户都免密,只想给这个新用户单独开权限,就在visudo文件末尾添加一行:

your-new-username ALL=(ALL:ALL) NOPASSWD:ALL

your-new-username替换成你实际的新用户名即可。

验证配置是否生效

切换到你的新用户,执行一个需要sudo权限的命令测试,比如:

sudo ls /root

如果不用输入密码就能正常执行,说明配置已经生效啦!

⚠️ 小提醒:sudo免密会赋予用户极高的系统权限,一定要确保这个用户是完全可信的,避免带来服务器安全风险哦。

备注:内容来源于stack exchange,提问作者Duke

火山引擎 最新活动