使用 SSH 证书从我的笔记本电脑连接到 GCP

使用 SSH 证书从我的笔记本电脑连接到 GCP

我正在使用 postgreSQL 设置 GCP Cloud SQL 实例,并希望使用 Python 和一款名为 QGIS 的软件从我的笔记本电脑连接到它。我经常旅行,我的 IP 一直在变化,因此使用 IP 白名单很麻烦。有没有办法将某些东西绑定到设备?例如使用证书?

答案1

安装 Google Cloud SDK。CLIgcloud可以设置使用实例名称的 IAP TCP 隧道。然后,您可以连接任何使用 TCP/IP 寻址的软件。

gcloud compute start-iap-tunnel INSTANCE_NAME INSTANCE_PORT --local-host-port=localhost:LOCAL_PORT

欲了解更多信息,请参阅此文档:

使用 Cloud IAP 进行 TCP 转发

答案2

来自的回答約翰·漢利非常适合并推荐用于 GCE VM 实例。

但是,由于 OP 提到从 QGIS 软件连接到 Cloud SQL 实例,我想我们不能那样做。

我会推荐一个我还没有尝试过但相当可行的解决方案。

我们将仅允许从控制台通过私有 IP 连接到 Cloud SQL 实例。然后,我们可以在同一网络中的 VM 上部署 Cloud SQL 代理,并使用服务帐户连接到 CloudSQL。

任何时候 OP 想要使用 QGIS,他只需要:

  • 在虚拟机中启动 CloudSQL 代理,例如:

    ./cloud_sql_proxy -instances=myProject:us-central1:cloudSQLInstance=tcp:5432 &

  • 然后创建通用 TCP 隧道从他的机器连接到 CloudSQL 代理端口。

    gcloud compute start-iap-tunnel vmInstance 5432 \ --local-host-port=localhost:ANY_PORT

    psql -h localhost -p ANY_PORT

相关内容