Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
谷歌云服务器(GCE),自定义映像,SSH登录问题_Ssh_Ssh Keys_Google Compute Engine_Ubuntu 14.04 - Fatal编程技术网

谷歌云服务器(GCE),自定义映像,SSH登录问题

谷歌云服务器(GCE),自定义映像,SSH登录问题,ssh,ssh-keys,google-compute-engine,ubuntu-14.04,Ssh,Ssh Keys,Google Compute Engine,Ubuntu 14.04,我正在玩Google Compute Engine(GCE),因为我计划从Rackspace迁移云服务提供商(原因:GCE有很好的升级计划,价格优惠) 我对GCE没有什么问题,其中一个问题是默认情况下不支持Ubuntu os/image。但有一种替代方法可以在GCE中运行任何linux发行版,该方法用于上载自定义映像并从上载的映像创建实例(服务器) 我可以从我上传到GCE的Ubuntu图片中创建并运行这些实例。这只是在一般情况下运行ubuntu。我没有遇到任何问题,但谷歌的gcutil工具会提示

我正在玩Google Compute Engine(GCE),因为我计划从Rackspace迁移云服务提供商(原因:GCE有很好的升级计划,价格优惠)

我对GCE没有什么问题,其中一个问题是默认情况下不支持Ubuntu os/image。但有一种替代方法可以在GCE中运行任何linux发行版,该方法用于上载自定义映像并从上载的映像创建实例(服务器)

我可以从我上传到GCE的Ubuntu图片中创建并运行这些实例。这只是在一般情况下运行ubuntu。我没有遇到任何问题,但谷歌的gcutil工具会提示输入ssh密码,并在GCE元数据中添加密钥,但只接受密码登录(那么为什么它会提示输入密码)

我想严格遵循谷歌的建议。但是在完成所有步骤之后,我无法通过SSH登录到我的服务器实例。我猜在安装时会发生这种情况:
google-startup-scripts\u 1.1.2-1\u all.deb
google-compute-daemon\u 1.1.2-1\u all.deb
&
python-gcimagebundle\u 1.1.2-1\u all.deb
。这些包/脚本在启动时对实例以及SSH配置进行一些更改,这是强烈建议的。一旦我严格遵循链接,或者一旦我安装了这些软件包,一旦实例重新启动,我就无法建立SSH连接。尝试连接时会显示与下面类似的错误消息:

test@machine1:~$ gcutil --service_version="v1" --project="mypro-555" ssh --zone="asia-east1-a" "server-instance-1"

INFO: Running command line: ssh o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no -i /home/test/.ssh/google_compute_engine -A -p 22 test@101.167.xxx.xxx -
ssh: connect to host 101.167.xxx.xxx port 22: Connection refused
注意:用户帐户
test
在本地和GCE服务器上都可用且通用

我的主要问题是严格按照这些步骤进行SSH连接。如果我上载新映像,然后按照建议的步骤连接SSH,则在重新启动实例后无法再次执行SSH(或者)如果我在上载之前在上载的映像中设置了所有内容,则创建的实例将运行,但我无法连接至少一个实例,并且错误相同

任何使用GCE与您的自定义映像?的人,即使在遵循建议的设置后,是否允许您连接?。有人已经解决了这个SSH问题吗?。请发表您的评论

编辑1
我无法从日志中找出答案,这是的输出。

这里的关键是您的ssh客户端说“连接被拒绝”。这表明该IP地址确实有一台机器,但它不接受SSH连接。有几种可能的解释:

  • ssh守护进程未运行,或正在错误的接口上侦听
  • 您的实例配置了拒绝SSH通信的防火墙
  • 已删除允许SSH通信的GCE防火墙规则

  • (1) 在安装GCE映像包之前,SSH允许连接。(2)我没有将任何iptable规则配置为新机器。(3)我反复检查了很多次GCE防火墙中是否有SSH条目,是的,默认情况下每个人都可以使用它。在应用GCE推荐的设置之前,新实例将正常运行,但一旦我安装了GCE映像包并重新启动实例,就会显示连接被拒绝错误。这很有趣,也很出乎意料。对于该实例,我将仔细查看
    gcutil getserialportoutput
    的输出;我希望它能提供一些线索来说明发生了什么。从日志中我还不完全清楚机器是否已经完成引导。你能从另一个GCE实例成功ping它吗?这很有趣。此时,我认为最好的办法是关闭实例,但保留磁盘。然后,从一个股票映像将磁盘装载到一个新实例上,并查看/var/log以查看是否有任何东西指示可能发生的情况。GCE SSH疑难解答指南中有很多关于如何执行此操作的信息: