
我有一個 Ubuntu 16.04 AWS 實例,由於啟用 UFW 而不允許 SSH 連接埠 22,我意外地將自己鎖定在該實例之外。我建立了一個新實例並將受影響實例的磁碟區安裝到其中。
現在我可以存取受影響實例的檔案系統,如何阻止 UFW 在啟動時運行,以便我可以透過 SSH 再次存取該實例?或者,如何透過設定檔允許 SSH 存取連接埠 22?
我在網路上查了一下,我的文件結構似乎與其他人使用的不符。在/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
您可以嘗試透過/etc/ufw/ufw.conf
以下方式變更啟動時停用 UFW:
ENABLED=no
答案2
pa4080的回答似乎喜歡正確的答案,但我發現 UFW 在預設安裝 Ubuntu 14.04 後會阻止 ping 和 Samba 連接,儘管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