我在 Azure 中运行 ubuntu VM。
错误地,我使用此命令启用了 ubuntu 防火墙
sudo ufw 启用
我忘了在 ubuntu 防火墙中启用 SSH 端口(22)
现在我无法使用 SSH 访问我的 VM。
现在做什么
答案1
你可以使用Linux 自定义脚本扩展禁用虚拟机上的 Ubuntu 防火墙。
首先,您需要编写一个脚本名称script.sh
。将以下行添加到您的脚本中。
ufw disable
注意:不需要在脚本上添加 sudo。
另外,您可以在防火墙上打开端口 22,只需修改脚本如下:
ufw allow 22
在 Azure 门户上,找到自定义脚本扩展。Your resource group-->your VM-->Extensions-->Add-->Custom Script For Linux
扩展安装成功后,您可以 ssh 到您的虚拟机。
更新:
您可以在 Azure 门户上卸载该扩展,然后再次执行以下脚本。
ufw disable
ufw status
请确保防火墙已打开inactive
。您可以在门户上检查日志。
另外,您可以用它telnet
来检查端口 22 是否正在监听。
telnet IP 22
当防火墙被禁用,但您无法 ssh 到您的 VM 时,您最好检查您的 Azure NSG,请确保端口 22 已添加到入站规则。
答案2
更简单的方法是前往 Azure 门户 > 您的 VM > 支持 + 故障排除 >串行控制台。它附带 Windows 和 Linux VM,只需在那里禁用它即可