У меня есть экземпляр EC2 с Ubuntu. Я использовал sudo ufw enable
и после того, как разрешил только порт mongodb
sudo ufw allow 27017
Когда ssh-соединение сломалось, я не могу повторно подключиться
У меня есть экземпляр EC2 с Ubuntu. Я использовал sudo ufw enable
и после того, как разрешил только порт mongodb
sudo ufw allow 27017
Когда ssh-соединение сломалось, я не могу повторно подключиться
Каким-то образом ответ Махеша не сработал для меня, если вы оказались в моей обуви, попробуйте это.
sudo lsblk
чтобы отобразить прикрепленные тома и подтвердить имя объема проблемы. Обычно он начинается с /dev/xvdf
. Шахта - /dev/xvdf1
Задайте объем задания.
$ sudo mount /dev/xvdf1 /mnt
$ cd /mnt/etc/ufw
Открыть ufw
конфигурации ufw
$ sudo vim ufw.conf
ENABLED=yes
для ENABLED=no
Отобразить содержимое файла UFW conf с помощью приведенной ниже команды и убедиться, что ENABLED=yes
изменено на ENABLED=no
$ sudo cat ufw.conf
Отключить громкость
$ cd ~
$ sudo umount /mnt
Отсоедините объем проблемы от экземпляра восстановления и снова присоедините его к исходному экземпляру как /dev/sda1.
Источник: здесь
Примечание. Новые ядра Linux могут переименовывать ваши устройства в /dev/xvdf через /dev/xvdp внутренне, даже если имя устройства введено /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.
Я знаю, что это старый вопрос, но я исправил мой, добавив команду в View/Change User Data, используя bootcmd
Я сначала остановил свой экземпляр
Затем я добавил это в 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"
# Примечание: Мой экземпляр - Ubuntu
У меня та же проблема и выяснил, что этот шаг работает:
1- Остановите свой экземпляр
2- Зайдите в "Настройки экземпляра" → "Просмотр/изменение данных пользователя".
3- Вставьте это
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
--//
4- Начните свой экземпляр
Надеюсь, это работает для вас
Благодаря Фабиану Бертетто все работает отлично. Вы экономите мое время, спасибо еще раз https://stackoverflow.com/users/5780029/fabi%c3%a1n-bertetto