我想使用 Google 虚拟机(通过反向 ssh 隧道)将在我的 RPi 中运行的 Postgresql 公开到云中。但我无法实现。
以下是在谷歌虚拟机中完成的步骤
以下是在RPi中完成的步骤
以下是在RPi中做的测试
Connection to localhost 5432 port [tcp/postgresql] succeeded!
以下是谷歌虚拟机(SSH)中的测试
Connection to localhost 5432 port [tcp/postgresql] succeeded!
nc: connect to domain.com port 5432 (tcp) failed: Connection refused
nc: connect to <public_ip_of_vm> port 5432 (tcp) failed: Connection refused
所以,如果我通过 SSH 进入,那么我就能够访问反向 SSH 隧道。但出于某种原因,我无法公开访问它。
我不确定,我错过了什么。任何想法都会有所帮助。
您的 SSH 隧道正在监听
localhost
。那不是公共网络,只能从虚拟机(实际上是操作系统)内部访问。
如果你想通过虚拟机从互联网连接到你的树莓派,那么你应该绑定到连接到公共 IP 地址的接口。
将
localhost
替换为网络接口的私有IP地址。
在谷歌云中,公共 IP 地址通过特殊的 1 对 1 NAT 映射到私有 IP 地址。因此绑定到与公共 IP 地址对应的私有 IP 地址。
Google Cloud Console GUI 将列出每个 VM 的私有和公共 IP 地址。您可能需要启用这些列才能看到列表中的值。