Agi*_*ean 2 ssh ssh-keys google-cloud-platform 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].
Run Code Online (Sandbox Code Playgroud)
我做了什么:
1:验证端口22上的防火墙是否已打开
gcloud compute firewall-rules list
Run Code Online (Sandbox Code Playgroud)
回
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
Run Code Online (Sandbox Code Playgroud)
2:续订公钥
ssh-keygen -t rsa -f ~/.ssh/google_compute_engine -C myuser
Run Code Online (Sandbox Code Playgroud)
3:使用新公钥更新元数据
sudo gcloud compute ssh myuser@ubuntu
Updating project ssh metadata...
Updating project ssh metadata...done.
Waiting for SSH key to propagate.
Run Code Online (Sandbox Code Playgroud)
然后,仍然是相同的错误消息:
ssh: connect to host 35.187.38.82 port 22: Connection refused
ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].
Run Code Online (Sandbox Code Playgroud)
我应该补充一点,我可以访问ssh直到今天,当然,我之前使用gcloud auth登录进行了身份验证
来自Google Cloud Web界面的SSH工作正常!有什么不同?将不胜感激任何帮助!!
经过长时间的搜索,我终于找到了这个棘手问题的根本原因.我希望这能帮助一些绝望的人......
您可能会拒绝ssh连接的原因是,意外地删除了外部ip请求的内部路由.你可以通过以下方式检查:
gcloud compute routes list
Run Code Online (Sandbox Code Playgroud)
如果这不返回包含以下条目的列表:
default-internet default 0.0.0.0/0 default-internet-gateway 1000
Run Code Online (Sandbox Code Playgroud)
然后,您必须通过以下方式重新创建此条目:
gcloud compute routes create default-internet \
--destination-range 0.0.0.0/0 \
--next-hop-gateway default-internet-gateway
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7246 次 |
| 最近记录: |