最后几天,我最努力地从家用电脑到谷歌计算引擎实例运行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窗口并询问我的登录名 . 但是,无论我输入什么名称,我都会收到错误消息:
服务器拒绝我们的密钥 .
.
Questions:
-
任何想法我做错了什么?
-
为什么我必须手动添加密钥?那不应该是自动的吗?
.
非常感谢你的帮助 . 如果您需要更多信息,请询问 . 我很乐意为你提供:)
.
Best regards,
Lodrik
2 回答
最新的Google Cloud SDK版本存在一个已知问题,即新创建的密钥格式错误导致SSH问题 . 我们的工程团队正在努力将其作为重中之重 . 为了暂时解决问题,我建议降级Gcloud版本,创建密钥并再次更新 . 可以通过执行以下操作来完成:
另一种解决方法是通过单击实例名称旁边的SSH按钮从浏览器中的cloud console进行ssh .
UPDATE:
公共问题跟踪器已开启here,问题现已解决 .
SSH连接错误"No supported authentication methods available - Server refused our key" - 可能是由错误的SSH用户名引起的(它可能使用您的Windows用户名来尝试登录) .
请按照以下步骤使用SSH客户端正确登录GCE:
在按下GCE instances中的SSH按钮后,从Web控制台窗口复制授权的SSH用户名 .
运行PuttyGen以创建私钥和公钥:
点击“生成” .
在'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会话以登录您的实例 - 现在应该提示您输入您之前定义的用户名和密码 .