
Ubuntu 16.04 AWS インスタンスがありますが、SSH のポート 22 を許可せずに UFW を有効にしたために、誤ってロックアウトされてしまいました。新しいインスタンスを作成し、影響を受けたインスタンスのボリュームをそのインスタンスにマウントしました。
影響を受けたインスタンスのファイル システムにアクセスできるようになりました。起動時に 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 の質問から引用:ファイアウォールを有効にした後、AWS EC2 に SSH 接続できない
答え1
次のように変更することで、起動時に UFW を無効にすることができます/etc/ufw/ufw.conf
。
ENABLED=no
答え2
pa4080の回答思われる正解のようですが、 がENABLED=no
デフォルト設定であるにもかかわらず、デフォルトの Ubuntu 14.04 のインストール後に UFW が ping と Samba 接続をブロックしていることがわかりました/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