我有一个使用Ubuntu的EC2实例。我使用了sudo ufw enable
并且仅允许mongodb端口
sudo ufw allow 27017
当ssh连接断开时,我无法重新连接
不知怎的,Mahesh的答案对我不起作用,如果你碰巧在我身边,试试这个。
sudo lsblk
以显示附加的卷并确认问题卷的名称。它通常以/dev/xvdf
开头。我的是/dev/xvdf1
$ sudo mount /dev/xvdf1 /mnt
$ cd /mnt/etc/ufw
ufw
配置文件
$ sudo vim ufw.conf
ENABLED=yes
改为ENABLED=no
ENABLED=yes
已更改为ENABLED=no
$ sudo cat ufw.conf
$ cd ~
$ sudo umount /mnt
资料来源:here
注意:较新的Linux内核可能会在内部通过/ dev / xvdp将设备重命名为/ dev / xvdf,即使输入的设备名称是/ dev / sdf / dev / sdp。
cd ~ mkdir lnx1 sudo mount /dev/xvdf ./lnx1
cd lnx1 sudo vim ufw.conf
现在找到ENABLED = yes并将其更改为ENABLED = no。
请务必先卸载卷:
sudo umount ./lnx1/
你好 !!你很高兴。
其他方法对我不起作用。我的EC2实例基于Bitnami图像。由于市场锁定,将卷附加到另一个实例不起作用。
因此,请停止问题实例并将此脚本粘贴到instanceSettings> view-change user data中。
这种方法不需要分离音量,因此与其他方法相比,它更直接。
Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0
--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"
#cloud-config
cloud_final_modules:
- [scripts-user, always]
--//
Content-Type: text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"
#!/bin/bash
ufw disable
iptables -L
iptables -F
--//
必须在粘贴之前停止实例,在启动实例之后你应该能够ssh。
我知道这是一个老问题,但我通过使用bootcmd
在View / Change User Data中添加命令来修复我的问题
我先停止了我的实例
然后我在用户数据中添加了这个
#cloud-config
bootcmd:
- cloud-init-per always fix_broken_ufw_1 sh -xc "/usr/sbin/service ufw stop >> /var/tmp/svc_$INSTANCE_ID 2>&1 || true"
- cloud-init-per always fix_broken_ufw_2 sh -xc "/usr/sbin/ufw disable>> /var/tmp/ufw_$INSTANCE_ID 2>&1 || true"
#Note:我的实例是Ubuntu