【问题标题】:Unable to SSH into VM instance on Google Cloud Platform无法通过 SSH 连接到 Google Cloud Platform 上的 VM 实例
【发布时间】:2020-03-26 18:39:41
【问题描述】:

我在 VPC 网络中为端口 22 创建了防火墙规则,方法是在规则中为端口分配一个 IP,例如 (192.168.xx.yy) 而不是 0.0.0.0/0。现在,当我在 Google Cloud Platform 中创建一个计算引擎 VM 实例并通过 SSH 连接到它时,它指出“无法连接到端口 22”。

我不希望端口 tcp:22 的 ip 范围为 0.0.0.0/0 但如上所述只有一个 ip?我该如何解决这个问题?

【问题讨论】:

  • 您是否尝试从 192.168.xx.yy 连接?
  • 我只是在防火墙规则中创建了一个规则,然后创建了实例,然后按创建实例旁边的 ssh 按钮将其打开。
  • 这条规则阻止了你。您必须删除或创建一个 IP 为 192.168.xx.yy 的实例,以便您可以使用该实例进行连接

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


【解决方案1】:

192.168.x.x 是一个内部 IP 地址,在您的情况下,它适用于与您要连接的实例位于同一网络中的 VM 实例。

如果您想从该网络外部连接,您需要将防火墙规则的来源设置为您要连接的实例/机器的外部 IP。例如,您可以通过 https://whatismyipaddress.com 获取您的外部 IP。

防火墙规则设置如下:

流量方向:入口

匹配操作:允许

Targets:指定的目标标签(例如)

来源过滤器:IP范围

来源 IP 范围:x.x.x.x/32(您的外部 IP)

【讨论】:

    【解决方案2】:

    如果您不想让 GCE 实例的端口 22 对 Internet 开放,但又想连接到它,我建议您使用 2 种不同的解决方案:

    • 创建一个bastion host。此虚拟机是访问您的 GCE 实例的代理。您登录堡垒,然后您可以执行 ssh 跃点到您的 GCE 实例。只有堡垒主机在 22 端口上向互联网开放。只有在需要连接到其他 GCE 实例时才能启动此堡垒虚拟机,这样可以提高安全性并降低对这个“后门”实例的攻击风险。李>
    • 对于堡垒和直接通过端口 22 访问 VM,您可以将防火墙规则的源 IP 限制为当前 IP。

    但请记住,IP 不是事实来源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-30
      • 1970-01-01
      • 1970-01-01
      • 2019-06-11
      • 1970-01-01
      相关资源
      最近更新 更多