[Ubuntu] Aws ufw(우분투 방화벽)설정 후 인스턴스 실행이 안될 때

2023. 12. 7. 10:04Unknown

https://gksdudrb922.tistory.com/202

 

[AWS] EC2, ufw enable 후 ssh 접속 불가 문제

Ubuntu는 기본 방화벽으로 ufw를 사용한다. 이 때, ufw를 disable 했다가 enable 했을 때, ssh 접속이 다시 되지 않는 경우가 있다. 사실 무시하고 넘어갔겠지만 ufw를 enable 할 때, ssh 접속이 끊어질 수 있다

gksdudrb922.tistory.com

 

https://shuu.tistory.com/141

 

[AWS/Ubuntu] UFW 데몬 활성화로 인해 SSH 접속 차단 시, 해결 방법

1) UFW (Ubuntu 방화벽) 활성화로 인해 SSH 접속 차단 시, 해결 방법 (1) 개요 AWS에서 제공되는 Ubuntu 이미지로 EC2를 생성하게 되면 기본적으로 UFW (firewall)은 비활성화 되어 있다. 방화벽 설정을 위해 UFW

shuu.tistory.com

 

위 블로그를 작성하신 형님들께 존경을

 

 

 

 

 

✔️증상
실행중인 서버의 기존 putty 혹 인스턴스 터미널에서 연결이 되지 않음

✔️원인
기존 실행중인 인스턴스에 ufw(우분투 방화벽)을 enable했기 때문이다.
(어떤 포트가 자동할당 되어서 막으려고.. 실행함)

sudo ufw enable
sudo ufw deny 45155/tcp

cf) Command may disrupt existing ssh connections. Proceed with operation (y|n) ?
이러한 메세지에 아무 생각 없이 y를 해버렸기 때문...

✔️알게된점

ssh와 기본 정보가 바뀌지 않더라도, ufw(우분투 방화벽)을 사용하면 기존 ssh정보를 drop 시키기 때문이다.

 


 

✔️해결책 

 

1. EC2 직렬 콘솔 접속

주의: 최상위 관리자(root) ID와 PW를 알고 있어야함. - 아이디비밀번호 까먹어서 pass

 

 

2. bash 스크립트 실행(사용자 데이터 편집)

우측 인스턴스 메뉴 -> 작업 -> 인스턴스 설정 -> 사용자 데이터 편집 -> 사용자 데이터를 텍스트로 수정 -> 아래 코드 입력

 

주의) 줄바꿈 뒤에 띄어쓰기를 해줘야한다!

 

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 
--//

 

간단 코드 설명

Cloud-Init파일 구성을 하겠다.
1.cloud-config.txt   -  클라우드 인스턴스의 최종 설정 모듈을 정의 (2번파일을 항상 실행하도록 설정되어있음)
2.userdata.txt   - 사용자 데이터스크립트 파일 -> 클라우드 인스턴스가 실행될때마다 스크립트 실행

스크립트 내용

ufw disable                 -        UFW 방화벽 비활성화
iptables -L                   -        iptables 규칙 목록 표시
iptables -F                   -        iptables 규칙 초기화

 

 

 

이후 EC2 터미널 접속하면 잘 된다 후후😊

 


cf) 볼륨 분리 후 연결

최종적으로 인스턴스를 살리지는 못했지만, 기존 볼륨 분리후 다시 설정하는건 성공해서 의미가 있어서 기록

 

 

인스턴스 실행 중지 -> 볼륨 분리 ->  중지된 인스턴스 스토리지 -> 분리한 볼륨 입력 -> 인스턴스 시작 -> 기존 putty의 정보를 재입력해서 접속

 

1. 문제가 있는 인스턴스(실행중인) 중지

2. 좌측 메뉴 볼륨 -> 볼륨 분리 click (분리 성공 후 사용 가능으로 바뀔때까지 기다린다.)

3. 좌측 메뉴 볼륨 -> 볼륨 연결 -> 중단된 인스턴스 선택 -> 루트 디바이스 이름과 일치하는 곳으로 경로 지정 !!!

 

아래 빨간색 박스가 같아야 한다!

 

볼륨 연결

 

인스턴스 루트 디바이스 확인 (인스턴스 ->스토리지)

 


 

Putty 및 기존 access 정보로 Ubuntu 접속이 안될때

 

원래 정보를 다시 입력시켜서 save하고 load하면 될 경우가 多

728x90
반응형