Pass - 유닉스 패스워드 관리자

1 day ago 3

  • Pass유닉스 철학을 따르는 간단한 패스워드 관리 도구로서, 각 패스워드를 GPG로 암호화하여 파일에 저장함
  • 패스워드는 폴더 구조로 체계적으로 관리 가능하며, 명령행 도구로 추가, 편집, 생성, 조회, 삭제 등을 쉽게 처리함
  • Git 연동을 통해 패스워드 변경 이력 추적 및 동기화가 가능하여, 여러 컴퓨터 및 팀 환경에서도 유용하게 사용 가능함
  • 사용자 자유가 높아, 파일 구조나 저장 데이터 형식을 사용자 상황에 맞게 자유롭게 구성할 수 있음
  • 확장성높은 호환성으로, 다양한 확장 기능플랫폼별 클라이언트/GUI가 활발히 개발 및 배포되고 있음

Pass 소개

  • 패스워드 관리는 단순해야 하며, Unix 철학을 따라야 함
  • Pass는 각 패스워드를 GPG로 암호화한 파일 형태로 보관하며, 파일명은 해당 패스워드가 필요한 웹사이트나 리소스명을 사용함
  • 이 암호화 파일들은 원하는 폴더 구조로 정리할 수 있음. 일반적인 파일 관리 명령어를 통해 컴퓨터 간 복사, 이동, 삭제 등도 간편하게 할 수 있음
  • Pass는 각 패스워드 파일의 추가, 편집, 생성, 조회에 특화된 명령어를 제공하며, 패스워드는 기본적으로 ~/.password-store 하위에 저장됨
  • 간단한 셸 스크립트로만 구현되어 있음
  • 패스워드 복사(클립보드 복사), 패스워드 변경 이력 기록에 Git을 활용함
  • 기본 셸 명령어로도 편집 가능하며, Zsh, Fish, Bash 등 다양한 셸에서 자동 완성 지원
  • 다양한 확장 기능타 플랫폼용 클라이언트/GUI가 활발한 커뮤니티 주도로 개발되고 있음

패스워드 스토어 사용법

  • 저장된 패스워드 전체 목록 조회 가능
  • 특정 패스워드 조회 및 클립보드 복사 기능 지원(자동 클리어)
  • gpg-agent를 통해 편리하게 패스워드 입력 및 인증 처리
  • 새로운 패스워드 추가, 기존 파일 다중라인 저장(-m 옵션), 기본 텍스트 에디터를 통해 파일 직접 편집 가능
  • /dev/urandom을 이용한 랜덤 패스워드 생성 기능 제공(옵션에 따라 심볼 포함/제외, 클립보드 바로 복사 지원)
  • 패스워드 삭제 시, 파일 시스템에서 암호화 파일도 제거됨
  • Git 저장소로 초기화 후, 패스워드 변경마다 커밋 발생 및 pass git push/pull로 동기화 가능
  • 추가 기능 및 상세 사용법은 man page 참조

기본 설정 방법

  • 패스워드 스토어 초기화 시, GPG 키 입력만으로 손쉽게 시작 가능(GPG 키 여러개 지정 시 팀 환경에 적합)
  • 특정 폴더별로 별도 GPG 키 할당 가능(-p 옵션)
  • Git 저장소로도 초기화 가능함(별도로 remote 지정 가능)
  • 모든 패스워드 추가, 삭제, 편집 작업이 Git 커밋으로 관리됨
  • man page에서 더욱 확장된 초기화 예시 확인 가능

설치 방법

  • Debian/Ubuntu: apt-get install pass
  • Fedora/RHEL: yum install pass
  • openSUSE/Gentoo/Arch/Macintosh/FreeBSD 등 다양한 플랫폼 지원
  • Tarball, Git 저장소 직접 clone 가능(모든 릴리즈는 서명된 태그 제공)

데이터 조직 및 유연성

  • Pass는 사용자 정의에 따라 자유롭게 데이터를 조직 가능(스키마 및 형식 강제 없음)
  • 다중라인 저장, 파일명으로 데이터 구분, 폴더 구조 등 다양한 방식 선택 가능
  • 예: Amazon/bookreader의 경우, 첫 줄에 패스워드, 이후 URL, 사용자명, 시크릿 질문 등 추가 정보 저장 가능
  • 필요 시 각 정보를 별도 파일(예: password, secretquestion1 등)로 관리하는 방식도 선택 가능
  • 클립보드 복사 옵션은 첫 줄만 복사하므로 실사용과 부가 정보 저장을 효율적으로 병행 가능

확장 기능

  • 확장 기능(extensions) 은 다양한 사용자 요구사항에 대응하기 위해 지원
  • 시스템 폴더 또는 사용자 폴더에 설치하며, 환경변수로 활성화 여부를 지정
  • 커뮤니티에서 활발하게 다양한 확장 기능이 개발·제공되고 있음

호환 클라이언트

  • 여러 플랫폼용 클라이언트/GUI가 커뮤니티에 의해 개발 및 배포되고 있음
  • 사용자는 자신의 운영체제나 사용환경에 맞는 클라이언트 선택 가능

다른 패스워드 관리자에서의 마이그레이션

  • 타 패스워드 관리자에서 데이터 이관 시 다양한 변환 스크립트와 방법 지원
  • 유저가 자신에게 적합한 방식으로 최적의 데이터 조직을 선택 가능

제작자 및 라이선스

  • Jason A. Donenfeld(zx2c4.com)가 개발
  • GPLv2+ 라이선스로 자유롭게 사용 및 수정 가능

Read Entire Article