【问题标题】:Can't access VM Instance through SSH无法通过 SSH 访问虚拟机实例
【发布时间】:2022-01-16 10:27:27
【问题描述】:

我通过 SSH 连接到 VM 实例,但我错误地运行了以下命令:

"chmod -R 755 /usr"

然后我开始收到以下消息:

"/usr/bin/sudo 必须由 uid 0 拥有并设置 setuid 位"

我已经阅读了不同的解决方案:

  1. 设置启动脚本以更改 root 密码并通过连接

gcloud beta 计算 ssh 服务器名

但是,我无法停止我的实例,因为我为其分配了一个本地 SSD,因此我认为启动脚本无法正常工作,并且通过 ssh 连接会要求我输入密码:

user@compute.3353656325014536575的密码:

但我从未为我正在使用的用户设置密码。

有什么解决方案可以让我重新连接到服务器并修复错误吗?

编辑: 我有一个为 FTP 手动创建的用户,但是这个用户没有 sudo 权限,有没有办法知道 sudo 密码?

提前致谢。

【问题讨论】:

    标签: ssh virtual-machine google-compute-engine


    【解决方案1】:

    从手头的问题来看,命令 chimed-R 755 将授予每个人 root 权限 在阅读其他步骤之前先尝试一下。 SSH 进入您的实例。更改密码 只需键入 须藤密码 输入新密码 并确认新密码。
    如果这不起作用, 请按照以下步骤操作

    "/usr/bin/sudo 必须由 uid 0 拥有并设置 setuid 位"

    这意味着 sudo root 权限已被覆盖,这对使用 sudo 造成了限制,并且会导致您失去所有 root 访问权限等问题。以下步骤应该有助于解决问题

    为您的实例创建备份或快照

    创建一个全新的实例并将您的本地 ssd 从最后一个实例附加中分离,将其返回到新创建的实例。

    登录新实例并在根目录下新建一个文件夹,并以根用户身份开始操作。

    检查新实例中连接的驱动器:“mount”……“fdisk -l | grep 磁盘”。

    在根目录创建新文件夹: “mkdir /newfolder”

    现在挂载卷:“sudo mount /dev/xvdf1 /newfolder/”

    挂载后,如果您检查权限,您会看到新文件夹权限在挂载后由于受影响的卷而更改:

    【讨论】:

    • 跟随这个页面cloud.google.com/compute/docs/disks/detach-reattach-boot-disk它说我必须停止实例才能分离磁盘,但是这是不可能的,因为停止按钮是灰色的,上面写着“你不能停止这个虚拟机实例,因为它使用本地 SSD”,唯一可用的选项是挂起、重置和删除
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    相关资源
    最近更新 更多