谷歌云:计算虚拟机实例

25

如何获取我的Google VM实例的根访问权限,以及如何使用SSH客户端(如putty)从我的PC登录VM实例?

我还想补充一点,我尝试过对需要root访问权限才能完成的事物使用sudo,比如yum或wget。但是它不允许我执行sudo,它要求我输入root密码,但我不知道该如何获取root密码。


2
请尝试阅读文档。此外,这个问题应该发布在超级用户上。 - LJᛃ
这个问题似乎不是关于编程的,因此被认为是不相关的。 - Jonathon Reinhart
7个回答

52

您可以通过sudo su成为root用户。不需要输入密码。


我正在通过ssh登录,需要输入密码。 - alper

17

如何使用sudo以root身份执行命令?

(从其他答案中分离出来,因为此帖子中有多个问题)

一旦您使用PuTTY或gcloud compute instances ssh连接到您的GCE VM,甚至在开发人员控制台旁边的实例上点击“SSH”按钮,您就可以使用sudo命令。请注意,您不应该使用su命令成为root,只需运行:

sudo [command]

而且它不应提示您输入密码。

如果您想获取root shell以作为root运行多个命令,并且想避免在所有命令前加上sudo,请运行:

sudo su -

如果您仍然遇到问题,请发布一个新问题,包括您正在运行的确切命令和所见到的输出。


4
如果您想使用root连接您的GCE(Google Cloud Engine)服务器,并通过Putty进行操作,请按照以下步骤进行操作:
1. 使用Puttygen生成两个PPK文件: - 为您的GCE默认用户生成一个PPK文件 - 为root用户生成另一个PPK文件
2. 在Putty上执行以下操作(将gce-default-user替换为您的GCE用户名): - Putty->Session->Connection->Data->Auto-login username: gce-default-user - Putty->Session->Connection->SSH->Auth->Private-key for authentication: gce-default-user.ppk - 然后使用您的GCE默认用户连接到服务器
3. 在sshd_config中做以下更改: - sudo su - nano /etc/ssh/sshd_config - PermitRootLogin yes - UsePAM no - 保存并退出 - service sshd restart
4. 在Putty上执行以下操作: - Putty->Session->Connection->Data->Auto-login username: root - Putty->Session->Connection->SSH->Auth->Private-key for authentication: root-gce.ppk - 现在您可以通过Putty登录为root用户。
如果您需要使用Eclipse远程系统并以root身份登录,请执行以下操作: - Eclipse->Windows->Preferences->General->Network Connection->SSH2->private-keys: root-gce.ppk

4
sudo su root <enter key>

不需要密码 :)

1
我收到了```我们相信您已经从当地系统管理员那里听取了通常的演讲。 它通常可以归结为以下三点:#1)尊重他人的隐私。 #2)在输入之前先思考。 #3)伴随着巨大的权力而来的是巨大的责任。[sudo]密码为我的用户名``` - PatS

2
请尝试在GCE上运行sudo su -。默认情况下,在GCE上不需要密码即可sudo(以替代用户身份运行)。su(替换用户)的-参数进一步模拟完整登录,将目标用户(两者的默认用户为root)配置的登录shell及其配置文件脚本用于设置新的环境参数。无论如何,您至少会注意到提示符从$变为#

1

如何使用PuTTY连接我的GCE实例?

(从其他答案中分离出来,因为这篇文章中有多个问题)

请查看GCE文档中的设置ssh密钥,其中展示了如何进行操作;以下是摘要,但请阅读文档获取更多信息:

  1. 如果您还没有生成密钥,请使用ssh-keygenPuTTYgen(适用于Windows)生成。
  2. 复制您的公钥内容。如果您刚刚生成了此密钥,它可能在名为id_rsa.pub的文件中。
  3. 登录到开发者控制台。
  4. 在导航中,选择计算->计算引擎->元数据
  5. 点击SSH密钥选项卡。
  6. 点击编辑按钮。
  7. 在列表底部的空输入框中,按以下格式输入相应的公钥:

    <protocol> <public-key> username@example.com

    这将使您的公钥自动可用于该项目中的所有实例。要添加多个密钥,请将每个密钥列在新行上。
  8. 点击完成保存更改。

    插入密钥到实例需要几分钟时间。尝试使用ssh连接到您的实例。如果成功,则表示您的密钥已传播到该实例。

1

只需通过点击SSH,即可进入Cloud Shell

然后使用sudo更改root用户的密码:

sudo passwd

它将更改root密码 :)

接下来,使用以下命令成为root:

su

输入您的密码并成为root用户 :)


8
Google Compute Engine虚拟机提供无需密码即可使用 sudo 的功能,因此不应为root用户创建密码,否则会使其不太安全。只需使用sudo su -命令切换到root用户,不要设置root密码(因为它很可能会被字典攻击远程破解;最好使用证书进行身份验证)。 - Misha Brukman
@MishaBrukman 如果我已经设置了 root 密码,如何删除密码? - Rahul Sharma
@RahulSharma — 如果你使用的是Ubuntu系统,请参考这个答案。在此之前,请确保你已经正确配置了sudo,以免破坏你的安装。 - Misha Brukman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接