我有两个实例,一个VPC和两个子网,每个子网位于不同的区域。
一个实例有一个公共IP,另一个实例只有内部IP。我希望这两个实例使用它们的内部IP相互通信。
我怎样才能做到这一点?
-编辑
实例
名称:实例-a
区域:us-central1-a
网络:测试
网络标签:测试允许内部测试允许ssh
内部ip:10.10.0.2
外部ip:none
名称:instance-b
区域:北美-东北部1-a
网络:测试
网络标签:测试允许内部测试允许ssh
内部ip:10.20.0.2
外部ip:是
vpc
名称:测试
动态路由模式:全局
子网
名称:测试
地区:美国中央1
IP地址范围:10.10.0.0/15
网关:10.10.0.1
私人谷歌访问:在上
名称:测试
地区:北美-东北1
IP地址范围:10.20.0.0/15
网关:10.20.0.1
私人谷歌访问:在上
防火墙规则
名称:测试允许内部
类型:入口
目标:应用于所有
过滤器:IP范围:0.0.0.0/0
协议/端口:所有
操作:允许
优先级:65534
网络:测试
名称:测试ssh
类型:入口
目标:应用于所有
过滤器:IP范围:0.0.0.0/0
协议/端口:tcp:22
操作:允许
优先级:65534
网络:测试
现在,我正在努力实现:通过ssh-usinf外部IP从本地连接到instance-b。我只想让instance-b通过ssh使用内部IP ie:ssh连接到instance-auser@instance-b-external-ip>gt;sshuser@instance-a-internal-ip
我可以ping,但当我尝试通过ssh使用内部ip从instance-b连接到instance-a时,它总是说权限被拒绝。
新建编辑SSH
我使用外部ip ie:ssh连接到instance-buser@externalip.在instance-b中,我使用以下命令创建ssh密钥
ssh-keygen -t rsa -b 4096 -f ~/.ssh/instance_b
公钥和私钥
公钥:instance_b.pub
私钥:instance_b
我使用GUI 将公钥添加到SSH KEYS
然后我像往常一样连接sshuser@10.10.0.2
The authenticity of host '10.10.0.2 (10.10.0.2)' can't be established.
ECDSA key fingerprint is SHA256:iA1FfVyXM1234OsIy424ElVLnjGg2tMuSmdbsGWGLSs.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.10.0.2' (ECDSA) to the list of known hosts.
user@10.10.0.2: Permission denied (publickey).
我得到拒绝的权限
但是如果我使用以下命令:
ssh -i ~/.ssh/instance-b user@10.10.0.2
我可以连接。为什么?
如果我遗漏了什么,请告诉我
谢谢!
同一VPC内的VPC子网可以相互通信。VPC防火墙规则默认允许内部允许同一VPC内资源之间的所有TCP、UDP和ICMP流量。
关键是要使用内部(专用(IP地址。