이 저장소에는 패스 비밀번호 관리자를 Chrome과 통합하는 Chrome 확장 프로그램이 포함되어 있습니다.
이 저장소에는 다음을 포함하는 두 개의 폴더가 있습니다.
확장 기능을 사용하려면 Chrome 또는 Chrome 브라우저와 Python 기본 애플리케이션(chrome_pass)에 확장 기능을 설치해야 합니다.
이 지침은 Ubuntu 24.04 및 Debian 12(책벌레)에서 테스트되었습니다.
sudo apt-get install pass python3 python3-pip
pip install --user chrome-pass==1.0.1
chrome_pass install
Chrome 웹 스토어에서 확장 프로그램을 받으세요.
이 확장의 코드 복잡성을 줄이기 위해 비밀번호 저장소의 구조에 관한 몇 가지 가정이 있습니다. 이 확장 프로그램이 귀하의 비밀번호를 나열하고 해독할 수 있으려면 다음 가정을 따라야 합니다.
이 확장은 비밀번호 저장소가 홈 디렉토리 내의 .password-store 폴더 내에 있다고 가정합니다.
$HOME/.password-store
비밀번호 저장소가 다른 곳에 있는 경우 기호 링크를 사용하여 이 제한 사항을 해결하거나 PASSWORD_STORE_DIR
env 변수가 비밀번호 저장소 위치를 가리키도록 설정할 수 있습니다.
이 플러그인은 각 비밀번호 경로의 마지막 두 부분이 다음 구조를 따른다고 가정합니다.
[Service URL]/[Username]
예를 들어 일부 Gmail 및 Amazon 계정을 유지하려면 다음을 수행하세요.
~/.password-store/
├── mail.google.com
│ ├── me@gmailcom
│ ├── [email protected]
│ └── [email protected]
└── Amazon
├── www.amazon.com
│ ├── [email protected]
│ └── [email protected]
└── www.amazon.co.jp
├── [email protected]
└── [email protected]
경로는 마지막 두 부분이 위의 구조를 따르는 한 원하는 만큼 많은 부분을 가질 수 있습니다. 그리고 [서비스 URL] 부분은 스토어에서 해당 비밀번호를 선택하는 데 사용되므로 현재 보고 있는 페이지의 URL과 일치해야 합니다.
패스 파일이 pass-otp를 구성한 경우 chrome-pass는 TOTP 코드를 생성하고 양식의 숫자 텍스트 입력을 이 코드로 채웁니다.
IAM 계정의 경우 로그인 사용자와 비밀번호뿐만 아니라 계정 12자리 ID 또는 별칭도 필요합니다. 이러한 계정의 경우 chrome-pass에는 로그인 페이지의 모든 정보를 채울 수 있는 특별한 논리가 있습니다.
Password Store
├── signin.aws.amazon.com
│ ├── [email protected]
│ ├── [email protected]
│ ├── 183413992345
│ ├── 550312930456-username1
│ ├── 550312930456-username2
│ └── accountalias
signin.aws.amazon.com
이어야 합니다.pass edit ...
사용하여 비밀번호 GPG 파일을 편집하고 비밀번호 줄 뒤 아무 곳에나 두 개의 키/값 쌍을 추가합니다.username=[IAM username]
account=[12 digit AWS account id or alias]
username
사용하고, 계정 ID 필드를 채우기 위해 account
, 비밀번호 필드를 채우기 위해 해독된 password
사용합니다. chrome-pass 확장 프로그램은 패스 gpg 파일에서 키/값 쌍을 찾고 해당 value
으로 key
와 동일한 ID를 가진 HTML 입력 필드를 채웁니다.
또한 value
다음과 같은 특수 자리 표시자 값으로 설정된 경우 다음으로 대체됩니다.
pass__user
: 패스 경로의 마지막 부분에서 추출한 [Username]
으로 대체됩니다.pass__password
: 해독된 패스 비밀번호로 대체됩니다.pass__otpauth
: 가능한 경우 pass-otp 코드로 대체됩니다. 메모
특수 자리 표시자 키에는 이중 밑줄 __
문자가 있습니다.
이를 통해 chrome-pass는 Apple ID 로그인 양식과 같은 일부 비표준 로그인 양식에서 작동할 수 있습니다. 이 로그인 페이지에는 양식 요소가 없으며 자바스크립트를 사용하여 작동합니다. 다행히 사용자 이름과 비밀번호 HTML 입력 필드에는 chrome-pass 파일에서 설정할 수 있는 잘 정의된 ID가 있습니다.
# chrome-pass for Apple ID login from.
account_name_text_field=pass__user
password_text_field=pass__password
위의 키/값 쌍을 Apple 계정 패스 파일에 추가하면 chrome-pass 확장 프로그램이 ID가 account_name_text_field
인 HTML 입력 필드를 사용자 이름으로 채우고 ID가 password_text_field
인 HTML 입력 필드를 해독된 비밀번호로 채우도록 지시합니다.
이는 알 수 없는 사람이 작성한 일부 확장 프로그램에 대한 비밀번호를 신뢰하기 전에 소스 코드를 확인하려는 개발자 또는 사람들을 위한 것입니다.
Chrome 내에서 chrome://extensions URL을 열고 개발자 모드를 확인한 다음 압축이 풀린 확장 프로그램 로드 버튼을 사용하여 확장 프로그램 폴더의 경로를 로드합니다. 확장 프로그램이 Chrome에 로드된 후 확장 프로그램 ID 를 기록해 두세요.
다음으로 chrome_pass 래퍼 스크립트를 설치하고 기본 호스트 애플리케이션 매니페스트를 설치해야 합니다.
cd application
pip install --upgrade setuptools build --user
python -m build
pip install . --user
chrome_pass install [extension ID]
파일을 전달할 때 otpoauth
사용자 정의 필드를 pass__otpauth
로 바꾸십시오. otpoauth
사용자 정의 필드는 제거되며 향후 릴리스에서는 작동하지 않습니다.
기본 애플리케이션 및 확장 0.5.1은 이전 버전과 호환되지 않습니다. 제대로 작동하려면 둘 다 0.5.1인지 확인하세요.
nativePass
스크립트의 이름이 chrome_pass
로 변경되었습니다.
chrome-pass 버전 0.5.0은 distutils 대신 setuptools를 사용하여 기본 애플리케이션을 패키징하고 설치합니다. 설치 시 다음과 같은 오류가 발생할 수 있습니다.
ERROR: Cannot uninstall 'chrome-pass'. It is a distutils installed project and
thus we cannot accurately determine which files belong to it which would lead
to only a partial uninstall.
이 상황에서는 이전 버전의 패키지를 수동으로 제거해야 합니다.
nativePass
스크립트를 제거합니다. which nativePass
사용하여 찾으세요.chrome_pass-0.X.0...
파일과 디렉터리를 제거합니다. 어떤 이유로 확장 프로그램이 비밀번호 저장소에서 사용자 이름 목록을 가져올 수 없는 경우 가장 가능성 있는 이유는 다음과 같습니다.
chrome_pass 애플리케이션은 일부 최신 버전의 python-gnupg를 사용하여 gpg 비밀번호를 해독할 수 없는 것으로 나타났습니다. Ubuntu 16.04LTS에서 기본적으로 제공되는 gnupg 모듈 버전 0.3.9를 사용할 때 플러그인이 문제 없이 작동하는지 확인할 수 있습니다.
자세한 내용은 Github에서 관련 문제를 참조하세요.
터미널 내에서 Chrome을 시작할 때 플러그인이 작동하지만 Spotlight 또는 다른 실행 프로그램에서 시작할 때 플러그인이 작동하지 않는 경우 실행 프로그램에서 PATH 환경 변수가 올바르게 설정되었는지 확인하세요.
자세한 내용은 Github에서 관련 문제를 참조하세요.