首页 文章

Google Compute Engine:尝试连接到实例时出现SSH错误

提问于
浏览
2

最后几天,我最努力地从家用电脑到谷歌计算引擎实例运行ssh连接,但无法实现 . 不幸的是,来自互联网的搜索结果也没有帮助我,所以我会请你们帮忙:) . 每个答案/建议都非常感谢 .

.

My stats:

首页 - 计算机:

  • 操作系统是Windows 7

  • Home-Computer用户名与我的Google Cloud 帐户名称不同

Google实例:

  • n1-standard-1,europe-west1-b

  • 操作系统:Debian GNU / Linux 8.3(jessie)[默认值]

  • 外部/静态IP:已激活

  • 允许的HTTP流量

  • 允许的HTTPS流量

其他:

  • 这是我的第一次Google Cloud 体验

  • 我还在免费试用期@ Google cloud plattform

  • 我安装了Putty,Google SDK和Python 2.7

.

What I did / tried so far:

首先,我尝试使用带有以下命令的Google shell连接到我的实例:

gcloud compute ssh instance_name --zone europe-west1-b

shell让我生成shh-keys,我回答“是”,我在C:\ Users \ Lodrik.ssh \目录中获得了一个私钥 . 但是,在尝试连接时,我收到了错误消息:

致命错误:已断开连接:没有可用的支持身份验证方法(服务器已发送:publickey)

[Error_Pic] [1] // sry,因为我有<10个声望点而无法正常工作

.

其次,我认为可能存在问题,因为我的Google帐户中的用户名和家用电脑的用户名不同 . 因此,我尝试使用我的home-pc用户名shh-conntect到我的实例:

gcloud compute ssh Lodrik@instance_name --zone europe-west1-b

结果,我刚收到一条错误信息(再次--.-) . 但是,这次是不同的 . 打开一个Putty shell,其中包含以下消息:

使用用户名“Lodrik” . 服务器拒绝我们的密钥

[Error_Pic_2] [2] // sry,因为我有<10个声望点而无法正常工作

.

最后,我在stackoverflow上搜索了我的问题,并找到了这个帖子(类似问题的答案):Cannot connect to Compute Engine instance via SSH

因此,我按照线程的答案执行了以下步骤:

1)我通过Google Cloud 平台的网络仪表板手动添加了我的公钥(来自〜/ Lodrik / .shh /)

2)我复制了显示的用户名(来自这个添加的公钥)和我的实例的IP地址,并将它们输入到putty中(如答案中所述)

3)我试图通过putty连接到我的实例

结果,打开了一个shell窗口并询问我的登录名 . 但是,无论我输入什么名称,我都会收到错误消息:

服务器拒绝我们的密钥 .

Error_Pic_3

.

Questions:

  • 任何想法我做错了什么?

  • 为什么我必须手动添加密钥?那不应该是自动的吗?

.

非常感谢你的帮助 . 如果您需要更多信息,请询问 . 我很乐意为你提供:)

.

Best regards,

Lodrik

2 回答

  • 1

    最新的Google Cloud SDK版本存在一个已知问题,即新创建的密钥格式错误导致SSH问题 . 我们的工程团队正在努力将其作为重中之重 . 为了暂时解决问题,我建议降级Gcloud版本,创建密钥并再次更新 . 可以通过执行以下操作来完成:

    1- Delete the .ssh folder created on your local machine
    2- From the command line, run the following command:
    gcloud components update --version 91.0.0
    3- Once done, run the following command to create your keys:
    gcloud compute ssh INSTANCE_NAME
    NB: you might not be able to ssh but your keys will be created
    4- Run the following command:
    gcloud components update
    5- Authenticate to your project:
    gcloud auth login
    6- Try to ssh again by running:
    gcloud compute ssh INSTANCE_NAME
    

    另一种解决方法是通过单击实例名称旁边的SSH按钮从浏览器中的cloud console进行ssh .

    UPDATE:

    公共问题跟踪器已开启here,问题现已解决 .

  • 0

    SSH连接错误"No supported authentication methods available - Server refused our key" - 可能是由错误的SSH用户名引起的(它可能使用您的Windows用户名来尝试登录) .

    请按照以下步骤使用SSH客户端正确登录GCE:

    • 在按下GCE instances中的SSH按钮后,从Web控制台窗口复制授权的SSH用户名 .

    • 运行PuttyGen以创建私钥和公钥:

    enter image description here

    • 点击“生成” .

    • 在'Key comment'中输入 your GCE authorized username .

    • 输入要用于身份验证的任何密码 .

    • 在本地(私人)计算机上保存私钥(ppk文件) .

    • 复制公钥下文本的所有内容 .

    • 将其粘贴到GCE Metadeta SSH Keys中的新SSH密钥中 .

    • 打开Putty(或您使用的任何SSH客户端),并使用以下命令创建新的SSH会话:

    • IP = GCE实例外部IP(如果没有看到,请确保edit your instance并将其添加到"Network interfaces"下)

    • SSH>验证>私钥文件=之前保存的ppk文件 .

    • 打开SSH会话以登录您的实例 - 现在应该提示您输入您之前定义的用户名和密码 .

相关问题