개인적으로, 업무적으로 AWS를 사용하고, 그중에 이번에 문제가 발생한 것은 Lightsail 이었다.

거의 아마존 EC2와 비슷한 시스템인데 EC2에 비해 단순하게 만들어진 시스템인것 같다.


아무튼, Lightsail에 생성한 인스턴스 중에서 알 수 없는 이유로 SSH접속을 할수 없는 게 하나 있었는데 바쁜 업무때문에 손도 못대고 있었다.

Connection closed by xx.xxx.xxx.xxx port 22


그러다 어제 문득 돈내고 쓰는 상품을 이렇게 방치해야되나 싶은 생각이 들어서 AWS 지원센터에 물어봤더니...

결국 오늘 돌아온 대답은 SSH포트를 방화벽에서 열었냐는..

지금까지 SSH 잘 접속했었는데?? 그리고 설마 그것도 확인 안해봤을까...


구글링을 열심히 해봤는데 특별한 답을 못찾았다가.. 결국 찾았다.

https://forums.aws.amazon.com/thread.jspa?threadID=251943


과정을 간단하게 설명하면 이렇다.


1. 문제가 생긴 인스턴스를 스냅샷을 뜬다.

2. 스냅샷을 이용해서 인스턴스를 생성하는데, 생성된 인스턴스 시작시에 openssh를 새로 설치하는 명령을 실행하도록 한다.
   (캡쳐를 깜빡했는데 중간쯤에 열어서 입력하는 부분이 있음)

#!/bin/bash
sudo apt-get remove openssh-client openssh-server
sudo apt-get install openssh-client openssh-server

3. 완료.


결국... 접속됨. 잘됨.


잊지 않겠다. AWS...

SSH로 서버 모니터링하는 스크립트 작성하는 데...

좋은 모듈이 있어 설치하려다가 python 2.7버전 윈도우용 모듈이 없어 귀찮게 빌드해야 하나 생각하는데

어떤 외쿡분이 고맙게도 미리 빌드해줘서 백업용으로 블로그에 올림.

 

paramiko라는 모듈인데 pycrypto하고도 의존성이 있음.

 

pycrypto-2.4.1.win32-py2.7.exe 

paramiko-1.7.7.1.win32_Jaraco_patch.exe

어제 온종일 홈페이지가 안뜨는 상황이었는데도..
밖에서 어쩔 수 없이 그냥 뒀어야 하는 상황이 발생했다..
인터넷을 이용할 수 없는 곳에 있으니 당연..

그래서 임시로 휴대폰을 통해 서버에 접속해 간단한 작업을 할 수 있도록 해 두었다.
웹기반의 SSH이고, 다른 클라이언트 등으로 접속할때처럼 로그인이 필요하다.

사용자 삽입 이미지

+ Recent posts