[Jenkins on Docker] 계정 재생성 (계정 정보 확인, 비밀번호 변경)
본인은
AWS
의Amazon Linux2
EC2
서버에Docker
를 실행시키고Jenkins
컨테이너를 올려서 사용하고 있다.처음 문제는 Jenkins 로그인을 할 때 아이디 비밀번호를 잊어버린 것이 시작이다.
Docker 컨테이너에 접속하기
EC2
에 접속하여 터미널 창에 아래 명령어를 이용하여 Docker Container에 접속할 수 있다.
# 실행 중인 docker container 확인
$ docker ps
# 특정 container에 접속
$ docker exec -it [컨테이너ID or 컨테이너Name] /bin/bash
config.xml 수정하기
/var/jenkins_home/ 을 확인해보면 config.xml
파일이 있는 것을 확인할 수 있다.
vim
명령어를 활용하여 아래 <useSecurity>true</useSecurity
부분을 false
로 변경해준다.
초기 로그인 부분을 없앤다는 뜻이다.
$ vim config.xml
수정하고 난 뒤, 컨테이너를 재시작하고 브라우저로 재접속을 해보면, 로그인 창 없이 바로 Jenkins 대시보드가 보일 것이다.
# 특정 컨테이너 재시작
$ docker restart [컨테이너ID or 컨테이너Name]
vi: command not found
와 같은 오류가 발생한다면 아래 포스팅을 참고하면 된다.
https://gre-eny.tistory.com/349
Jenkins 계정 정보 확인하기
왼쪽 메뉴에 Jenkins 관리
- Security
- Manage Users
를 보면 생성된 계정 정보들을 볼 수 있다.
만약 계정명을 잊어버렸다면 이 방법으로 유저ID를 확인할 수 있다.
비밀번호를 잊어버렸다면 비밀번호 변경
혹은 다른 계정 생성
두가지 선택지가 있다.
여기서는 다른 계정 생성
만 다룰 것이고, 비밀번호 변경
에 관한 내용은 마무리
단락을 참고하길 바란다.
Jenkins security 설정 수정하기
새 계정의 ID를 지정하고, 직접 권한을 부여하는 방식으로 진행할 것이다.
위 사진처럼 Security Realm
에 Jenkins' own user database
와 사용자의 가입 허용
을 체크한다.
그리고 Authoriation
에 Matrix-based security
를 선택하고, Add user or group
을 선택하여 새로 만들 계정의 ID
를 입력하고, 모든 권한을 다 부여한다.
save
를 하고, 브라우저로 Jenkins에 재접속을 하면 아래와 같은 화면을 볼 수 있을 것이다.
새 계정 만들기
계정 생성
을 클릭하여 앞선 과정에서 추가했던 유저ID
로 계정을 생성한다.
그리고 로그인을 하면 정상적으로 로그인이 수행되는 것을 확인할 수 있다.
위에서 건드렸던 config.xml
의 <useSecurity>
부분은 위 과정을 수행하면서 다시 true
로 변경되어, 별도로 수정하지 않아도 앞으로도 로그인 과정을 스킵하지 않는다.
마무리
아래 참조링크를 보면, 비밀번호 변경도 가능한 것으로 보인다.
비밀번호 변경이 부득이하게 필요하다면 아래 링크를 참조하면 좋을 것이다.
이 포스팅에서는 간단히 유저ID 확인과 새로 ID를 생성하여 권한을 부여하는 방식 두가지만 다루었다.
Refer to