获取 Google Cloud Engine 虚拟机的 root 密码

Posted

技术标签:

【中文标题】获取 Google Cloud Engine 虚拟机的 root 密码【英文标题】:Get root password for Google Cloud Engine VM 【发布时间】:2016-05-03 04:34:22 【问题描述】:

我刚刚在 Google Cloud Engine 的 CentOS VM 中安装完 cPanel,cPanel 说默认用户名是 root,默认密码是服务器的 root 密码。

2016-01-26 12:02:52  958 ( INFO): 3. Enter the word root in the Username text box
2016-01-26 12:02:52  958 ( INFO): 
2016-01-26 12:02:52  958 ( INFO): 4. Enter your root password in the Password text box
2016-01-26 12:02:52  958 ( INFO): 
2016-01-26 12:02:52  958 ( INFO): 5. Click the Login button

如何获取服务器的root密码?

【问题讨论】:

【参考方案1】:

想通了。默认情况下,云引擎中的 VM 没有设置 root 密码,因此您首先需要使用更改密码

须藤密码

如果你做的一切都正确,它应该做这样的事情:

user@server[~]# sudo passwd
Changing password for user root.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

【讨论】:

只是补充一点,sudo passwd 只能使用来自 GCP 的预定义 SSH 连接来执行(例如:通过浏览器窗口打开 SSH)。我尝试通过自己的终端运行该命令,但它阻止我更改 root 密码。 我在自己的本地终端中尝试了该命令,它成功了。【参考方案2】:

至少在 Google 托管的 Debian Jessie 映像中有效:

在本地环境(您在 GCE 中的 Linux 服务器)中使用您的 Google 计算机引擎 (GCE) 用户进行身份验证后,启用从您的常规用户切换到 root 用户(AKA“超级用户”)的方法非常简单向前,实际上它只涉及一个命令来启用它,而每次使用它时需要另一个命令:

$ sudo passwd
Enter the new UNIX password: <your new root password>
Retype the new UNIX password: <your new root password>
passwd: password updated successfully

执行上一条命令并使用您的 GCE 用户登录后,您只需输入以下命令即可随时切换到 root:

$ su
Password: <your newly created root password>
root@intance:/#

正如我们在经济学中所说的“caveat emptor”或买家请注意:使用 root 用户远非系统管理中的最佳实践。使用它可能会导致很多麻烦,从擦除驱动器和引导磁盘中的所有内容而不会打嗝,到许多其他难以回溯、故障排除和重建的令人讨厌的东西。 另一方面,我从来没有遇到过一个系统管理员认为他比他应该知道的更了解和 root 更多。

记住:我们人类的编程方式是,在某个时间点有足够的时间按 Enter 键,而不考虑我们已升级为 root,我可以向你保证,它会痛苦、遗憾和额外工作的重要来源。请谨慎使用根权限

说了这么多无聊的话,玩得开心,活在边缘,人生苦短,你只能活一次,越破越学。

【讨论】:

在具有 Debian 9.7 的点击部署 LAMP 堆栈中工作:console.cloud.google.com/marketplace/details/… - + 1 表示警告【参考方案3】:

我遇到了同样的问题。即使使用 sudo passwd 更新密码后,它也无法正常工作。我必须通过 IAM 和管理员为我的用户提供“多个”角色 Refer Screen Shot on IAM & Admin screen of google cloud

之后我重新启动了虚拟机。然后再次更改密码,然后就可以了。

user1@sap-hanaexpress-public-1-vm:~> sudo passwd
New password: 
Retype new password: 
passwd: password updated successfully
user1@sap-hanaexpress-public-1-vm:~> su
Password: 
sap-hanaexpress-public-1-vm:/home/user1 # whoami
root
sap-hanaexpress-public-1-vm:/home/user1 #

【讨论】:

你把它们交给了哪个用户?您的谷歌帐户用户?这如何转化为 root 能够登录?【参考方案4】:

我尝试了“ManiIOT”的解决方案,效果出乎意料。 我从 IAM 管理员为我的 google 用户帐户添加了另一个角色(计算管理员角色)。然后停止并重新启动VM。 然后'sudo passwd'让我为用户生成一个新密码。

以下是步骤。

    转到 IAM 和管理 选择 IAM 找到您的用户名服务帐户(基本上是您的 google 帐户)并点击 Edit-member 添加另一个角色 --> 选择“Compute Engine”-“Compute Admin” 重新启动计算虚拟机 打开 SSH shell 并运行命令 'sudo passwd' 输入一个全新的密码。瞧!

【讨论】:

以上是关于获取 Google Cloud Engine 虚拟机的 root 密码的主要内容,如果未能解决你的问题,请参考以下文章

Google Cloud Compute Engine 是不是与 Google Cloud SQL 分开

获取文件的公共 URL - Google Cloud Storage - App Engine (Python)

Cloud Storage 上的 Google App Engine 文件

Google Cloud 中的 Google Compute Engine、App Engine 和 Container Engine 有啥区别?

如何在 Google Cloud App Engine 上使用 PubSub 创建订阅者,该订阅者通过 Publisher 从 Google Cloud App Engine Flex 收听消息?

需要启用 App Engine 才能使用 Cloud Firestore