当sudoing要求密码时谷歌云虚拟机

时间:2017-04-06 22:49:57

标签: debian virtual-machine google-cloud-platform sudo

我一直在使用Google Cloud debian VM,并且完全没有问题使用sudo执行超级用户任务(sudo没有要求输入密码)。

今天我像往常一样通过SSH连接,当我尝试 sudo something 时,它开始要求输入密码:

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for -----:

根据文档,它不应该要求密码,因为已经是SSL Key认证连接。

4 个答案:

答案 0 :(得分:0)

我自己解决了这个问题。对于遇到类似问题的人,我发布了我已经遵循的步骤:

  1. 删除保留磁盘的VM 实例。
  2. 创建新VM实例以恢复建议。
  3. 将旧VM磁盘附加到新实例
  4. 已装入/ mnt /

    # mount /dev/sdb1 /mnt/
    
  5. 将root更改为已安装的分区

    # chroot /mnt/
    
  6. 现在根据需要编辑sudoers文件以及用户密码和组
  7. 卸载磁盘

    # umount /dev/sdb1
    
  8. 取消磁盘,删除恢复实例,使用相同磁盘重新创建旧VM

答案 1 :(得分:0)

在与您相同的情况下(突然询问密码),我现在遇到了这个问题,但是我刚刚注销(关闭了ssh会话)并重新登录,即可正常工作。

答案 2 :(得分:0)

为避免这种情况,一种解决方案是从GCP控制台在Web浏览器中打开ssh终端。您可以尝试一下。这是因为Google Clound Engine上的SSH密钥相关配置

答案 3 :(得分:0)

今天,我在CentOS 8.x VM上遇到了同样的问题。经过一些测试,我找到了一个更简单的解决方案。允许“ google-sudoers”组在/etc/sudoers.d/google_sudoers文件中进行sudo,因此,要解决此问题并使其永久存在,请执行以下步骤将您的用户添加到“ google-sudoers”组:

  1. 从GCP的Web控制台SSH到您的VM
  2. 运行sudo usermod -a -G google-sudoers USER将您的USER添加到google-sudoers组
  3. 关闭您当前的SSH会话并打开一个新会话
  4. 测试一切正常

您应该能够运行sudo命令或再次获得root用户。