我正在设置一个GCP Compute Engine实例(Linux)。
我想限制使用Cloud Console连接到实例,并只允许使用gcloud compute ssh
连接。
但是我找不到解决方法。
有人知道吗?
答案 0 :(得分:0)
subnet-us-central1您可以使用您尝试连接的实例所使用的VPC网络上的防火墙规则来实现。
让我们创建一个示例VPC网络和一个子网;
gcloud compute networks create vpc-network-ssh --subnet-mode=custom
gcloud compute networks subnets create subnet-us-central1 --network=vpc-network-ssh --region=us-central1 --range=192.168.1.0/24
使用上面创建的子网创建Compute Engine实例;
gcloud compute instances create instance-0 --zone=us-central1-c --machine-type=f1-micro --subnet=subnet-us-central1
每次要从一台计算机连接到该实例时,都要在上面创建的VPC网络上创建防火墙规则,以允许以该计算机为源的端口22上的TCP流量;
IP_ADDRESS=$(curl http:/ipinfo.io/ip)
gcloud compute firewall-rules create allow-me --direction=INGRESS --priority=0 --network=vpc-network-ssh --action=ALLOW --rules=tcp:22 --source-ranges=$IP_ADDRESS/32
最后连接到实例;
gcloud compute ssh instance-0 --zone=us-central1-c
并在必要时删除防火墙规则;
gcloud compute firewall-rules delete allow-me --quiet
查找Cloud SDK的gcloud参考here。
如果您的担心与您不是项目的唯一用户有关,则可以在Identity and Access Management的背景下探索解决方案。