我登录到我的GCE VM实例(Debian)并安装了ufw
并启用了它。
但是,我忘记启用端口22。是否有另一种登录方式,以便我可以启用端口22而不必破坏实例?
最佳答案
不,访问实例的唯一方法是通过SSH。
您可以使用以下启动脚本来启用端口22:
#!/bin/bash
/usr/sbin/ufw allow 22/tcp
然后,您可以使用开发人员控制台将此代码添加到您的实例中,然后将代码粘贴到自定义元数据部分中,或者使用带以下命令的cloud SDK:
gcloud compute instances add-metadata <INSTANCE NAME> --metadata-from-file startup-script=<PATH TO SCRIPT> --project <PROJECT ID>
每当实例启动或重新启动时,该脚本都将以root用户身份执行,因此您需要重新启动实例,并且可以通过以下方式删除脚本:
gcloud compute instances remove-metadata <INSTANCE NAME> --keys startup-script --project <PROJECT ID>
您可以在documentation中获取有关启动脚本的更多信息。
关于ssh - Google Compute Engine-如果禁用ssh端口,则备用登录虚拟机实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28759251/