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
に変更します以下のコマンドを使用してufw confファイルの内容を表示し、ENABLED=yes
がENABLED=no
に変更されたことを確認します
$ Sudo cat ufw.conf
ボリュームのマウント解除
$ cd ~
$ Sudo umount /mnt
問題のあるボリュームを復旧インスタンスから切り離し、元のインスタンスに/ dev/sda1として再接続します。
ソース: here
注:新しいLinuxカーネルは、入力されたデバイス名が/ dev/sdfから/ dev/sdpであっても、デバイスの名前を内部的に/ dev/xvdpから/ dev/xvdfに変更する場合があります。
cd ~ mkdir lnx1 Sudo mount /dev/xvdf ./lnx1
cd lnx1 Sudo vim ufw.conf
ここでENABLED = yesを見つけて、ENABLED = noに変更します。
最初にボリュームをアンマウントしてください。
Sudo umount ./lnx1/
ほら!!あなたは大丈夫です。
他のアプローチはうまくいきませんでした。私のEC2インスタンスはBitnamiイメージに基づいています。別のインスタンスへのボリュームのアタッチは、マーケットプレイスロックのために機能しませんでした。
その代わり、問題のインスタンスを停止し、このスクリプトをinstanceSettings>ビュー変更ユーザーデータに貼り付けます。
このアプローチでは、ボリュームをデタッチする必要がないため、他のボリュームに比べて簡単です。
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
を使用して[ユーザーデータの表示/変更]にコマンドを追加することで修正しました
最初にインスタンスを停止しました
次に、これをユーザーデータに追加しました
#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-インスタンスを起動します
それがあなたのために働くことを願っています