如何获取我的 Google Compute Engine VM 实例的 root 访问权限,以及如何使用 SSH 客户端从我的 PC 登录到我的 VM 实例PuTTY
?
我还想补充一点,我曾尝试执行sudo
需要 root 访问权限的操作,例如yum
或wget
。但它不允许我执行sudo
,它要求我输入 root 密码,但我不知道如何或在哪里可以获取 root 密码。
答案1
据我所知,你不能通过以下方式以 root 身份进行 in-tty 登录
su -
但我使用一行 sudo 命令以 root 身份执行任务没有任何问题,例如
sudo apt-get install make
在我的 Debian Wheezy VM 上。如果我没记错的话,我曾是当我使用 sudo 时,系统提示我输入密码,但它接受空白密码。不过,那时我还没有在 RSA 密钥上使用密码短语——这可能与此有关?
至于使用 putty 进行 SSH 连接:
- 使用 puttygen 创建公钥/私钥 SSH-2 RSA 密钥对
- 加载 puttygen
- 点击“生成”
- 按照指示摆动鼠标
- 当密钥准备好后,将“密钥注释”字段更改为您的登录用户名(这很重要,因为它会告诉 VM 需要哪个用户名)
- 将私钥保存在方便的地方
- 复制全部从‘用于粘贴到 OpenSSH authorized_keys 文件中的公钥’文本中取出文本(Alt+P将选择整个文本块)并将其保存在方便的地方
- 创建一个新的 GCC VM 实例,或者编辑现有的实例。
- 点击“显示高级选项”
- 在“SSH 密钥”下,将公钥的全部内容粘贴到“输入整个密钥数据”框中。此时,框旁边的“用户名”字段应更改为您的登录名。我认为您不需要单击“添加密钥”,除非您有另一个要与实例关联的 SSH 密钥。
- 确保为实例分配了外部 IP 地址(临时或静态均可工作 - 只要您保持实例运行,临时地址就不会改变,即使您短时间关闭它,也可能不会改变。)
- 根据需要进一步重新配置实例,然后单击“创建”或“应用”
这应该从 GCC 方面完成。
- 配置 putty 以便通过 SSH 进入 GCC VM
- 运行 putty
- 在“会话”设置的“主机名”字段中输入外部虚拟机 IP 地址(不是 10.xxx)(应该是您在加载 putty 时首先看到的地址)
- 在“连接\数据”下的“自动登录用户名”字段中输入您的登录用户名
- 在“Connection\SSH\Auth”下,单击“用于身份验证的私钥文件”旁边的“浏览”,然后从 puttygen 找到您上面保存的私钥。
- 在“会话”下的“已保存的会话”下的文本框中输入连接的昵称,然后单击“保存”(这样您不必每次都重新输入所有内容,只需选择列表中的昵称并单击“加载”即可)
我认为这应该从腻子方面来做。
可能遗漏了一些东西,但我认为这些是关键步骤。
答案2
Sudo 一直对我有用。我发现 Ubuntu 在很多方面都比 Debian(默认)更友好。