ssh - Google Compute Engine-如果禁用ssh端口,则备用登录虚拟机实例

标签 ssh debian virtual-machine firewall google-compute-engine

我登录到我的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/

相关文章:

c++ - 如何在 Google Compute Engine 上编译 C++ 程序

java - 是否可以查询 Java VM 以找到最大可能的数组大小?如何?

python - 即使我可以使用凭据进行 SSH,Fabric 也会要求输入密码

ssl - Openvpn 配置未连接到服务器

python - 在通过 crontab 调用的脚本中运行 ssh/rsync 命令

python - 如何以正确的方式将一列分成两部分?

java - 更改 deb 包中的所有用户 PATH 变量

JavaFX 模块对 VM 不可见

linux - 检查远程进程是否正在运行(linux)

security - AWS 安全组设置