Xuất mật khẩu từ trình quản lý mật khẩu `pass`


9

Tôi đã sử dụng trình pass quản lý mật khẩu trong một năm hoặc lâu hơn, và điều đó thật tuyệt vời, nhưng đôi khi tôi muốn kiểm tra các trình quản lý mật khẩu khác và sau đó tôi cần lấy lại mật khẩu của mình.

Cho đến nay tôi chỉ cần thêm chúng theo cách thủ công khi tôi cần chúng, nhưng nếu tôi muốn chuyển sang trình quản lý mật khẩu khác, tôi cần một tập lệnh, bởi vì tôi không đủ kiên nhẫn để làm từng cái một, vì tôi gần như đã một trăm (nếu không nhiều hơn).

Có thể không? Đã có một giải pháp?

Tôi đã tìm kiếm một giải pháp trong vài tháng qua và không thể tìm thấy giải pháp nào trong đó "chỉ cần chạy tập lệnh này và bùng nổ xuất khẩu".

Có một kịch bản như vậy? Nếu không, tôi nên tìm kiếm cái gì hoặc ở đâu?


@josten Vâng, tôi đang nghĩ rằng có một cái gì đó mà nó chỉ đi qua mỗi tệp và nó lấy mật khẩu và lưu nó ở đâu đó. Đó là một cách để làm điều đó. Nhưng không biết làm thế nào ...
greduan

Câu trả lời:


10

Bạn có thể làm điều này nếu bạn đang chạy gpg-agent (và cụm mật khẩu của bạn đã được tải), bằng cách lặp qua các tệp trong kho lưu trữ mật khẩu của bạn và ghi chúng vào một tệp riêng biệt.

Bạn phải loại bỏ các thư mục hàng đầu khỏi đường dẫn ( $PASSWORD_STORE_DIR) và .gpgphần mở rộng từ mỗi tệp trong thư mục con, nhưng nếu không thì nó đủ đơn giản:

#!/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

Điều đó chắc chắn rất đơn giản, dọc theo dòng những gì tôi đã nghĩ. :) Chỉ cần thực sự nhanh chóng, làm thế nào bạn sẽ thêm tên tệp trước mỗi nội dung của tệp và sau đó hai dòng giữa mỗi tệp (để phân tách)? Tôi không quá quen thuộc với kịch bản shell.
greduan

Lý do tôi muốn đó là vì một số mật khẩu (cụ thể là mật khẩu không được nhập từ LastPass) không có thông tin về chúng ngoài mật khẩu, vì vậy khi có rất nhiều mật khẩu tôi không biết mật khẩu đó là gì.
greduan

@Greduan Cập nhật để in theo định dạng bạn đã hỏi về.
jasonwryan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.