gcloud compute ssh拒绝连接(返回码255)

时间:2017-07-18 00:31:02

标签: ssh google-cloud-platform ssh-keys gcloud

我无法获取由Google Cloud命令行工具(gcloud)创建的vm实例的ssh访问权限。

症状:

sudo gcloud compute ssh myuser@ubuntu
ssh: connect to host 104.155.16.104 port 22: Connection refused
ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].

我做了什么:

1:验证防火墙是否在端口22上打开

gcloud compute firewall-rules list

返回

NAME                    NETWORK  SRC_RANGES    RULES                         SRC_TAGS  TARGET_TAGS
allow-rstudio           default  0.0.0.0/0     tcp:8787                                allow-rstudio
default-allow-http      default  0.0.0.0/0     tcp:80                                  http-server
default-allow-https     default  0.0.0.0/0     tcp:443                                 
https-server
default-allow-icmp      default  0.0.0.0/0     icmp
default-allow-internal  default  10.128.0.0/9  tcp:0-65535,udp:0-65535,icmp
default-allow-rdp       default  0.0.0.0/0     tcp:3389
default-allow-ssh       default  0.0.0.0/0     tcp:22

2:续订公钥

ssh-keygen -t rsa -f ~/.ssh/google_compute_engine -C myuser

3:使用新公钥更新元数据

sudo gcloud compute ssh myuser@ubuntu
Updating project ssh metadata...
Updating project ssh metadata...done.                                                                                                                                     
Waiting for SSH key to propagate.

然后,仍然是相同的错误消息:

ssh: connect to host 35.187.38.82 port 22: Connection refused
ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].

我应该补充一点,我可以访问ssh直到今天,当然,我之前做过身份验证     gcloud auth login

来自Google Cloud网络界面的SSH工作正常!有什么不同? 非常感谢任何帮助!!

4 个答案:

答案 0 :(得分:8)

经过长时间的搜索,我终于找到了这个棘手问题的根本原因。我希望这能帮助一些绝望的人......

您可能会拒绝ssh连接的原因是,意外地删除了外部ip请求的内部路由。您可以通过以下方式查看:

gcloud compute routes list

如果这不返回包含以下条目的列表:

default-internet       default     0.0.0.0/0       default-internet-gateway 1000

然后您必须通过以下方式重新创建此条目:

gcloud compute routes create default-internet \
--destination-range 0.0.0.0/0 \
--next-hop-gateway default-internet-gateway

答案 1 :(得分:0)

就我而言,我升级了GCP实例(只是增加了更多的处理器和内存)。

我的Circle CI部署开始抛出:

Authentication failed.

Exited with code 255

几个小时试图弄清楚到底是什么引起了麻烦,我发现 / etc / ssh / sshd_config 的内容被完全清空了。 解决我的问题的是重新创建此文件并重新启动ssh服务。

注意:密码验证应设置为

答案 2 :(得分:0)

对于那些不幸遇难的可怜人。

以下内容始终如一地为我工作:

在您的gcloud CLI机器上,运行gcloud init并执行 提示。

结束。我希望这对您有帮助,我亲爱的互联网同伴。

答案 3 :(得分:0)

我的情况是我正在实例上运行一个 nohup 进程,突然该进程停止工作。

经过大量时间调查,我发现实例本身挂了。我们错过了这样的小事情,被发现调试更大的问题

检查您是否能够ping您的实例。如果没有,重新启动它并ssh,它会正常工作。这是解决方案之一。