Scripting
從“pass”密碼管理器導出密碼
我已經使用
pass
密碼管理器一年左右了,它很棒,但有時我喜歡測試其他密碼管理器,然後我需要找回我的密碼。到目前為止,我只是根據需要手動添加它們,但是如果我想遷移到另一個密碼管理器,我需要一個腳本,因為我沒有耐心一個一個地去做,考慮到我已經接近一百(如果不是更多)。
是否可以?是否已經有解決方案?
在過去的幾個月裡,我一直在尋找解決方案,但一直找不到“只需執行此腳本並繁榮導出”的解決方案。
有這樣的劇本嗎?如果沒有,我應該研究什麼或在哪裡做一個?
如果您正在執行gpg-agent(並且您的密碼已載入),則可以通過循環訪問密碼儲存中的文件並將它們寫入單獨的文件來執行此操作。
您確實必須從路徑 (
$PASSWORD_STORE_DIR
) 中刪除前導目錄,並.gpg
從子目錄中的每個文件中刪除副檔名,否則它很簡單:#!/usr/bin/env bash # export passwords to external file shopt -s nullglob globstar prefix=${PASSWORD_STORE_DIR:-$HOME/.password-store} for file in "$prefix"/**/*.gpg; do file="${file/$prefix//}" printf "%s\n" "Name: ${file%.*}" >> exported_passes pass "${file%.*}" >> exported_passes printf "\n\n" >> exported_passes done