
У меня есть экземпляр Ubuntu 16.04 AWS, который я случайно заблокировал, включив UFW, не разрешив порт 22 для SSH. Я создал новый экземпляр и смонтировал к нему том затронутого экземпляра.
Теперь у меня есть доступ к файловой системе затронутого экземпляра, как мне остановить запуск UFW при запуске, чтобы я мог снова получить доступ к экземпляру через SSH? Или как мне разрешить доступ к порту 22 для SSH через файлы конфигурации?
Я поискал в Интернете, и моя файловая структура, похоже, не соответствует тому, что используют другие люди. В /media/myDrive/lib/ufw
У меня нет user.rules
или user6.rules
; они находятся в /etc/ufw/
. Я отредактировал файлы user*.rules
, как показано ниже, чтобы разрешить доступ, но когда я перезагрузил сервер, я все еще не мог получить к нему доступ через SSH.
#user.rules
-A ufw-user-input -p tcp --dport 22 -j ACCEPT
-A ufw-user-input -p udp --dport 22 -j ACCEPT
#user6.rules
-A ufw6-user-input -p tcp --dport 22 -j ACCEPT
-A ufw6-user-input -p udp --dport 22 -j ACCEPT
Ссылка из этого вопроса SO:Невозможно подключиться по ssh к AWS EC2 после включения брандмауэра
решение1
Вы можете попробовать отключить UFW при запуске, изменив его /etc/ufw/ufw.conf
следующим образом:
ENABLED=no
решение2
ответ pa4080кажетсякак правильный ответ, но я обнаружил, что UFW блокирует пинги и соединения Samba после установки Ubuntu 14.04 по умолчанию, хотя ENABLED=no
это настройка по умолчанию в /etc/ufw/ufw.conf
. После того, как я остановил UFW с помощью , service ufw stop
я смог подключиться к машине, как и ожидалось.
Отключение UFW при запуске
В Ubuntu 14.10 и более ранних версиях:sudo echo manual > /etc/init/ufw.override
В Ubuntu 15.04 и более поздних версиях:sudo systemctl disable ufw
По поводу чего-нибудь еще или просто для уверенности:sudo echo "service ufw stop" >> /etc/init.d/rc.local