最后几天我最努力地从家用计算机到Google计算引擎实例运行ssh连接,但无法实现。不幸的是,来自互联网的搜索结果也没有帮助我,所以我会请你们帮忙:)。每个答案/建议都受到高度赞赏。
我的统计信息:
家庭电脑:
操作系统是Windows 7
首页 - 计算机用户名与我的Google云帐户名称
Google实例:
其他:
这是我的第一次Google云体验
我还在免费试用期@ Google cloud plattform
我安装了Putty,Google SDK和Python 2.7
到目前为止我做过/尝试过的事情:
首先,我尝试使用带有以下命令的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帐户中的用户名和家用电脑的用户名不同。因此,我尝试使用我的家用电脑用户名
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云平台的网络信息中心手动添加了我的公钥(来自〜/ Lodrik / .shh /)
2)我复制了显示的用户名(来自这个添加的公钥)和我的实例的IP地址,并将它们输入到putty中(如答案中所述)
3)我试图通过putty连接到我的实例
结果,打开了一个shell窗口并询问我的登录名。但是,无论我输入什么名称,我都会收到错误消息:
服务器拒绝了我们的密钥。
问题:
任何想法我做错了什么?
为什么我必须手动添加密钥?不应该是自动的吗?
非常感谢你的帮助。如果您需要更多信息,请询问。我很乐意为您提供:)
祝贺,
Lodrik
答案 0 :(得分: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。
<强>更新强>
公共问题跟踪器已开启here,问题现已解决。
答案 1 :(得分:0)
SSH连接错误“没有可用的支持身份验证方法 - 服务器拒绝了我们的密钥” - 可能是由错误的SSH用户名引起的(它可能使用您的Windows用户名来尝试登录)。
按照以下步骤使用SSH客户端正确登录GCE:
按下GCE instances中的SSH按钮后,从Web控制台窗口复制授权的SSH用户名。
运行PuttyGen以创建私钥和公钥:
点击“生成”。
在“关键评论”中输入您的GCE授权用户名。
输入要用于身份验证的任何密码。
将私钥(ppk文件)保存在本地(私人)计算机上。
复制公钥下的所有内容。
将其粘贴到GCE Metadeta SSH Keys。
打开Putty(或您使用的任何SSH客户端),并使用以下命令创建新的SSH会话:
打开SSH会话以登录您的实例 - 现在应该提示您输入您之前定义的用户名和密码。