如何获取我的Google VM实例的根访问权限,以及如何使用SSH客户端(如putty)从我的PC登录VM实例?
我还想补充一点,我尝试过对需要root访问权限才能完成的事物使用sudo,比如yum或wget。但是它不允许我执行sudo,它要求我输入root密码,但我不知道该如何获取root密码。
如何获取我的Google VM实例的根访问权限,以及如何使用SSH客户端(如putty)从我的PC登录VM实例?
我还想补充一点,我尝试过对需要root访问权限才能完成的事物使用sudo,比如yum或wget。但是它不允许我执行sudo,它要求我输入root密码,但我不知道该如何获取root密码。
您可以通过sudo su
成为root用户。不需要输入密码。
sudo
以root身份执行命令?(从其他答案中分离出来,因为此帖子中有多个问题)
一旦您使用PuTTY或gcloud compute instances ssh
连接到您的GCE VM,甚至在开发人员控制台旁边的实例上点击“SSH”按钮,您就可以使用sudo
命令。请注意,您不应该使用su
命令成为root,只需运行:
sudo [command]
而且它不应提示您输入密码。
如果您想获取root shell以作为root运行多个命令,并且想避免在所有命令前加上sudo
,请运行:
sudo su -
如果您仍然遇到问题,请发布一个新问题,包括您正在运行的确切命令和所见到的输出。
sudo su root <enter key>
#1)尊重他人的隐私。
#2)在输入之前先思考。
#3)伴随着巨大的权力而来的是巨大的责任。
[sudo]密码为我的用户名``` - PatSsudo su -
。默认情况下,在GCE上不需要密码即可sudo
(以替代用户身份运行)。su
(替换用户)的-
参数进一步模拟完整登录,将目标用户(两者的默认用户为root)配置的登录shell及其配置文件脚本用于设置新的环境参数。无论如何,您至少会注意到提示符从$
变为#
。(从其他答案中分离出来,因为这篇文章中有多个问题)
请查看GCE文档中的设置ssh密钥,其中展示了如何进行操作;以下是摘要,但请阅读文档获取更多信息:
- 如果您还没有生成密钥,请使用ssh-keygen或PuTTYgen(适用于Windows)生成。
- 复制您的公钥内容。如果您刚刚生成了此密钥,它可能在名为
id_rsa.pub
的文件中。- 登录到开发者控制台。
- 在导航中,选择计算->计算引擎->元数据。
- 点击SSH密钥选项卡。
- 点击编辑按钮。
- 在列表底部的空输入框中,按以下格式输入相应的公钥:
<protocol> <public-key> username@example.com
这将使您的公钥自动可用于该项目中的所有实例。要添加多个密钥,请将每个密钥列在新行上。- 点击完成保存更改。
插入密钥到实例需要几分钟时间。尝试使用ssh连接到您的实例。如果成功,则表示您的密钥已传播到该实例。
只需通过点击SSH,即可进入Cloud Shell
然后使用sudo更改root用户的密码:
sudo passwd
它将更改root密码 :)
接下来,使用以下命令成为root:
su
输入您的密码并成为root用户 :)
sudo
的功能,因此不应为root用户创建密码,否则会使其不太安全。只需使用sudo su -
命令切换到root用户,不要设置root密码(因为它很可能会被字典攻击远程破解;最好使用证书进行身份验证)。 - Misha Brukman