Solution of AWS EC2 ubuntu password lock after creating ami instance

DoDoBest

·

2023. 1. 18. 02:07

발생하는 상황

AWS EC2 ubuntu에 GUI를 설치한 후 해당 인스턴스를 AMI로 만든다.

AMI를 이용해서 인스턴스를 만든다.

SSH가 아닌 원격 데스크톱을 통해 xrdp로 로그인할 때, 아이디와 비밀번호가 일치함에도 불구하고 다음과 같은 에러 화면이 나온다.

 

 

원인

인스턴스를 AMI로 만든 후, AMI를 이용해서 인스턴스를 다시 생성하면 이전에 설정한 사용자의 비밀번호가 lock이 걸려 있어 로그인이 되지 않는다.

따라서 SSH 연결을 통해 인스턴스에 접속한 후, 관리자 권한으로 전환해서 lock을 풀어줘야 한다.

아래에서 ubuntu:!$라고 되어 있는데, !가 lock이 걸려있음을 의미한다.

 

(2023.01.18.수 10:37 내용 추가)

다시 확인해보니, GUI를 만들기 전부터 lock이 걸려 있었다.  ppk를 이용해서 인스턴스에 접근하도록 Instance(AMI가 아닌 새로운 인스턴스)를 생성했는데, 그 과정에서 자동으로 lock이 걸리는 것 같다. lock이 걸리지 않으면, ppk 없이 ubuntu만 입력해도 Instance에 접근이 가능하기 때문에 당연한 결과인 것 같다.

 

하지만 AMI를 생성하기 이전 인스턴스에서는 ID/PW가 잘 동작했기 때문에 lock을 해제하지 않은 문제는 아닌 것 같다.

AMI를 생성하는 과정에서 lock이 걸리는 것이 아닐까 추측된다.

 

 


해결방법

root 사용자로 전환한 후, /etc/shadow에서 비밀번호 앞에 붙은 !를 지워준 후 저장한다.

혹은 passwd -u [user 이름] 를 입력해도 !가 지워진다.

lock을 풀 경우, ppk 파일과 같은 접근 보안 없이 아이디와 비밀번호 만으로도 인스턴스에 접속할 수 있으므로 주의하세요.

 

위 해결책을 발견한 과정

xrdp가 내뱉는 login failed for display 0는 유저가 등록되지 않았거나, 비밀번호가 일치하지 않는다는 의미다.

ami를 새로 생성하면 비밀번호가 정말 변경되는지 확인하고 싶었다.

 

linux에서 관리자 권한을 얻으면 사용자의 비밀번호를 확인할 수 있지 않을까? 라는 생각에 xrdp에 root로 로그인했지만, xrdp는 root 로그인을 지원하지 않는지 연결이 바로 끊겼다.

 

ssh로 로그인을 시도해보니 정상적으로 연결이 됐다. ( 아이디 비밀번호가 아닌 ppk를 이용해서 로그인했기 때문에 ssh에서 아이디/비밀번호가 되는지는 확인이 필요합니다. )

관리자 권한으로 전환한 후, 기존 사용자 비밀번호 변경을 시도했는데, passwd : Authentication token manipulation error 오류가 나왔다.

 

ami를 생성했던 인스턴스와 ami로 생성했던 인스턴스의 비밀번호를 비교해본 결과 앞에 있는 느낌표만 달랐다.

느낌표가 있으면 lock이 걸려서 해당 아이디 비밀번호로 로그인이 안 된다는 것을 알게 되었다.

 

 

참고 자료

https://ciscoking.tistory.com/37

 

[리눅스] 사용자들의 기본 정보, 비밀번호가 저장되어 있는 파일 /etc/passwd, /etc/shadow에 대해 알아

* 사용자들의 기본적인 정보가 저장되어 있는 파일 - 위치 : /etc/passwd - 내용 # cat /etc/passwd root : x : 0 : 0 : root : /root : /bin/bash - 총 7개의 필드 1. root : 사용자명(ID) 2. x : 패스워드. x로 되어 있는건 /et

ciscoking.tistory.com

https://blog.pages.kr/1491

 

특정 계정에 Lock(잠금) 걸기 passwd

특정 사용자의 패스워드를 잠금으로 해당 사용자가 로그인을 못하게 하는 방법입니다. [그림 1. passwd -l] 그림 1과 같이 패스워드 정보가 들어있는 /etc/shadow파일을 cat으로 열어보니 testAcc사용자에

blog.pages.kr