Review

패스워드 관리 툴: pass

kalee 2022. 5. 27. 13:50

패스워드 관리 툴: pass

🪶 pass 란?

AWS 계정, 개인서버 계정 ... 등등 많은 계정들을 사용하고 있습니다. pass 는 이러한 계정들과 그 패스워드들을 관리하기 위해 사용하는 툴입니다.

패스워드 뿐만 아니라 각 서버의 .pem 파일들과 쿠버네티스 클러스터의 config 파일도 관리할 수 있습니다.

또한 암호화된 패스워드를 git 을 이용하여 버저닝하고, 공유할 수 있습니다.

# gpg-id 를 pass 에 등록
pass init <g pg-id>
# pass 에 저장된 패스워드 목록 불러오기
pass
# pass 에 새로운 계정 추가
pass insert <계정>
# pass 에서 비밀번호 불러오기
pass <계정>
# pass 에서 비밀번호 클립보드로 복사해오기
pass -c <계정>
# pass 에서 강력한 비밀번호 생성 및 저장하기
pass generate <계정> <패스워드길이>

🪶 설치하기

  1. MAC / Linux 에서 설치 https://www.passwordstore.org/
  2. windows 에서 설치 https://github.com/mbos/Pass4Win/releases

🪶 초기 설정하기

gpg key 를 생성한다.

$ gpg --gen-key

이 과정에서 공개 키(public key)와 비밀 키(prviate key)가 함께 생성되고, ‘~/.gnupg/’ 디렉토리에 저장된다.

이름, 이메일을 입력하고 키에대한 패스워드를 설정한다.

$ gpg --list-keys
gpg: checking the trustdb
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: next trustdb check due at 2024-02-18
/Users/kalee/.gnupg/pubring.kbx
-------------------------------
pub   ed25519 2022-02-18 [SC] [expires: 2024-02-18]
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
uid           [ultimate] kangmin.lee <kangmin.lee@zeroone.ai>
sub   cv25519 2022-02-18 [E] [expires: 2024-02-18]

여기서 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXgpg-id 이다.

$ pass init <gpg-id>

gpg-id 의 공개 키를 이용해 모든 비밀번호를 압호화한다.

🪶 비밀번호 저장하기

$ pass insert email/test@kalee.co.kr
Enter password for email/test@kalee.co.kr: <비밀번호 입력>
Retype password for email/test@kalee.co.kr: <비밀번호 재입력>

🪶 비밀번호 리스트 확인

$ pass
Password Store
└── email
    └── test@kalee.co.kr

🪶 비밀번호 불러오기

$ pass email/test@kalee.co.kr
<입력했던 패스워드>

🪶 비밀번호 출력 없이 클립보드로 불러오기

$ pass -c email/test@kalee.co.kr
<입력했던 패스워드가 클립보드에 복사됨(45초 후에 삭제)>

🪶 강력한 비밀번호 생성

$ pass generate cloud/ktcloud 16
<생성된 비밀번호 출력(16자)>

생성된 비밀번호는 자동으로 pass 에 저장된다.

🪶 git 연동

$ pass git init

🪶 git 에 push

$ pass git remote add origin <git url>
$ pass git push -u origin main