我在使用ssh登录从自定义映像创建的VM时遇到问题。
我按照creating an image from an existing GCE instance的步骤进行了操作。
我已成功创建了图片,将其上传到Google云端存储并将其作为图片添加到我的项目中,但当我尝试连接到新图片时,我收到了“拒绝连接”。
我可以看到其他端口上运行的其他应用程序用于新映像,因此看起来只是受影响的ssh。
我所做的步骤如下:
...create an image from existing GCE instance (one I can log into fine via ssh)..then:
gcutil --project="river-ex-217" addimage example2 http://storage.googleapis.com/example-image/f41aca6887c339afb0.image.tar.gz
gcutil --project="river-ex-217" addinstance --image=example2 --machinetype=n1-standard-1 anothervm
gcutil --service_version="v1" --project="river-ex-217" ssh --zone="europe-west1-a" "anothervm"
哪个输出:
INFO: Running command line: ssh -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no -i /Users/mark1/.ssh/google_compute_engine -A -p 22 mark1@23.251.133.2 --
ssh: connect to host 23.251.133.2 port 22: Connection refused
我已经尝试删除另一个SO答案中建议的sshKeys元数据,并重新连接这样做:
INFO: Updated project with new ssh key. It can take several minutes for the instance to pick up the key.
INFO: Waiting 120 seconds before attempting to connect.
INFO: Running command line: ssh -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no -i /Users/mark1/.ssh/google_compute_engine -A -p 22 mark1@23.251.133.2 --
ssh: connect to host 23.251.133.2 port 22: Connection refused
然后我尝试在另一个区域中的第一个实例,它可以正常使用新密钥:
gcutil --service_version="v1" --project="river-ex-217" ssh --zone="europe-west1-b" "image1"
两个实例都在运行端口22的同一“默认”网络上运行,而ssh适用于创建映像的第一个实例。
我从其他实例和我的本地机器尝试了nc命令,它没有显示输出:
nc 23.251.133.2 22
...虽然原始VM的ip显示此输出:
nc 192.157.29.255 22
SSH-2.0-OpenSSH_6.0p1 Debian-4
我已经尝试重新制作图像并重新添加实例,没有区别。
我已经尝试登录到第一个实例,并将用户切换到该计算机上的一个(应该与第二台计算机相同?),并从那里切换到ssh。
WARNING: You don't have an ssh key for Google Compute Engine. Creating one now...
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
INFO: Updated project with new ssh key. It can take several minutes for the instance to pick up the key.
INFO: Waiting 300 seconds before attempting to connect.
INFO: Running command line: ssh -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no -i /home/mark/.ssh/google_compute_engine -A -p 22 mark@23.251.133.2 -- --zone=europe-west1-a
ssh: connect to host 23.251.133.2 port 22: Connection refused
我没有想法,任何帮助都非常感激:)令人抓狂的事情是我可以看到新的虚拟机已准备好应用程序,我只需要添加一些文件并设置一些cronjobs。我想我可以做这个预图像制作,但我希望能够在以后登录并修改它,而不需要花费1小时来创建图像并每次都启动新实例。
你的忠实, 标记
答案 0 :(得分:4)
这个问题似乎是关于如何调试图像的SSH连接问题,所以这是我对此的回答。
您的实例可能无法正常运行SSH服务器。准备好的图像可能有些不对劲。
可能有用的调试问题要问自己:
您已经涵盖了这些内容,但为了完整起见,还应检查这些内容:
您可以将ssh设置与工作图像的设置进行比较: