如何为新的Google计算引擎实例获取ssh密钥?
我是来自AmazonEC2世界的新Google云试用用户,对于如何通过ssh登录到新的Google ComputeEngine VM实例,我完全感到困惑 我通过GoogleCloudWeb控制台创建了一个新实例(如果需要的话,可以从CentOS 6.x图像中创建)。我在创建表单上看到一个空白,我可以在其中粘贴现有的ssh密钥,但由于这是我的第一个实例,我还没有一个。我认为它会像AmazonEC2一样完成密钥创建过程。没有。它似乎已经创建了这个实例,但我不知道如何获取它的ssh密钥。实例web页面有一个按钮,上面写着“ssh”,它让我通过一个弹出的web浏览器窗口短暂登录,该窗口模拟ssh会话。但是,它只允许我进入用户级别的帐户,而不是root帐户。弹出窗口中有一个菜单项可以更改用户,我将其更改为“root”,之后它只会生成连接错误,现在我根本无法登录到我的实例 我已经搜索过了,但找不到任何直接的文档来解释google compute实例的这一方面。我搜索了web控制台,但找不到ssh密钥创建/选择机制,也找不到为实例创建或下载密钥的任何方法如何为新的Google计算引擎实例获取ssh密钥?,ssh,virtual-machine,google-compute-engine,ssh-keys,Ssh,Virtual Machine,Google Compute Engine,Ssh Keys,我是来自AmazonEC2世界的新Google云试用用户,对于如何通过ssh登录到新的Google ComputeEngine VM实例,我完全感到困惑 我通过GoogleCloudWeb控制台创建了一个新实例(如果需要的话,可以从CentOS 6.x图像中创建)。我在创建表单上看到一个空白,我可以在其中粘贴现有的ssh密钥,但由于这是我的第一个实例,我还没有一个。我认为它会像AmazonEC2一样完成密钥创建过程。没有。它似乎已经创建了这个实例,但我不知道如何获取它的ssh密钥。实例web页面
我是否必须在创建过程中手动创建自己的ssh密钥并将它们粘贴到表单中,或者我是否缺少其他明显的步骤?默认情况下,新的Google Compute Engine(GCE)VM实例没有预先分配的ssh密钥,因此您无法“检索”它们,因为它们不存在。创建它们取决于您,或者使用类似于
gcloud
(见下文)的工具,如果您还没有SSH密钥,该工具将提示您创建它们
您有几个选项可以连接到新创建的GCE虚拟机
一个选项是使用实例列表中实例旁边的开发人员控制台GUI中的“SSH”按钮进行连接,这将打开一个浏览器窗口和到该实例的终端会话
如果您想通过命令行上的SSH客户端进行连接,可以使用gcloud
工具(该工具的一部分):
您可以在帮助页面上看到完整的标志和选项集,以及几个示例
如果您还没有SSH密钥,它将提示您创建它们,然后连接到实例。如果您已经有密钥,那么可以使用现有的SSH密钥,它会将这些密钥传输到实例
默认情况下,gcloud
希望键位于以下路径:
–私钥$HOME/.ssh/google\u compute\u引擎
–公钥$HOME/.ssh/google\u compute\u engine.pub
gcloud
,您必须手动将SSH密钥添加到实例的元数据中,如中所述,您可以通过gcloud
或手动通过
您还可以使用ssh-keygen
创建自己的密钥,这也是gcloud
在封面下也将使用的密钥。您可以连接到实例,而不是gcloud
,但需要指定额外的参数:
ssh -i KEY_FILE -o UserKnownHostsFile=/dev/null \
-o CheckHostIP=no -o StrictHostKeyChecking=no \
USER@IP_ADDRESS
这将需要以下参数:
–[必需]密钥存储在计算机上的文件,例如,密钥文件
~/.ssh/google\u compute\u引擎
–[必需]登录该实例的用户名。通常,这是运行USER
的本地用户的用户名gcloud compute
–[必需]实例的外部IP地址IP\u地址
有关更多详细信息,请参阅。打开控制台后,尝试在ssh选项卡中查看gcloud命令。gcloud客户端将使用以下命令打开 gcloud计算--项目ssh--区域 如果是第一次,它将为您创建ssh密钥。您只需要使用右上角的gcloud client download file选项在~/.ssh/google_compute_引擎的这个位置下载文件。一旦您有了密钥文件,只需发出
ssh-iusername@external_IP使用ssh登录实例-[在Linux Ubuntu 16.04上执行的所有步骤]
SSH keygen-t rsa-f~/.SSH/gcloud\u instance1-C varunon9
gcloud\u instance1
是密钥文件的名称,varunon9
是用户名cd~/.ssh&&cat gcloud\u instance1.pub的内容
cd~/.ssh&&cat gcloud\u instance1.pub
)
ssh-i gcloud\u instance1登录到您的实例varunon9@35.200.201.56
其中gcloud\u instance1
是私钥文件(在.ssh目录中),varunon9
是用户名,35.200.201.56
是实例的外部IP为多个实例创建和使用一对ssh密钥的最简单方法: 第1步:从以下位置安装腻子和腻子 步骤2:在本地台式机/笔记本电脑中打开终端(在Windows 10及更高版本中,使用Windows Linux子系统) 类型:ssh-keygen 在提示下输入文件名的名称:例如google_key 将创建2个文件google_key和google_key.pub 第3步:复制google_key.pub的全部内容 注意,没有新行字符。它应该在一行中 步骤4:在创建任何VM实例之前,请转到 选择“
ssh -i KEY_FILE -o UserKnownHostsFile=/dev/null \
-o CheckHostIP=no -o StrictHostKeyChecking=no \
USER@IP_ADDRESS
gcloud compute config-ssh