GCE ssh内部ip连接由外部主机关闭

时间:2016-12-10 23:12:15

标签: php ssh google-cloud-platform google-compute-engine

我在同一个项目中有2个实例,并且在一个实例(a)中 我想使用内部ip
通过ssh连接到另一个实例(b) 但telnet 22给我“连接由外国主机关闭”。

我想通过ssh连接,因为在php项目中,我想执行ssh2_exec来远程启动一个php文件。

防火墙配置是: enter image description here 有办法解决这个问题,唉。

2 个答案:

答案 0 :(得分:6)

不是防火墙:你能够连接"到另一台服务器,但它并不像你。如果你被防火墙挡了,你根本就不会连接。

选项可以(在许多其他选项中)

  • 您正在尝试使用SSH作为" root"但是root不允许SSH进入。
  • 您正试图以另一个没有权限的用户身份进行连接。
  • 您尝试连接的用户没有shell(或设置为' / bin / nologin')
  • 您提供的密码不正确
  • 您提供的证书不正确
  • 服务器设置为仅允许某些IP(检查/etc/hosts.allow和/etc/hosts.deny)
  • 服务器不允许通过telnet连接(telnet传递用户名密码不安全,因此可能被阻止,请改用SSH。telnet.d是否正在运行/配置?)

检查目标服务器上的日志以获取更多线索。

建议的解决方案:

  • 使用SSH连接到第一台服务器,然后运行" ssh user:pass @ server"测试从一个服务器到下一个服务器的连接。如果失败了,那就先行。
  • 在php中以编程方式执行,尝试使用phpseclib(http://phpseclib.sourceforge.net/) - 它是一个非常古老的库但很容易调试。

答案 1 :(得分:0)

在为项目创建的默认网络中,SSH已在防火墙中启用。

但是,如果您创建了自己的网络,则需要手动添加防火墙规则(包括SSH),并使用这些规则标记实例。