Password Store là một chương trình UNIX đơn giản sử dụng GNU Privacy Guard (GPG) và Git để bảo mật và quản lý mật khẩu cho hệ thống Linux của bạn. Nó đơn giản, nhẹ và nhanh chóng. Tuy nhiên, sự đơn giản này có nghĩa là việc truy cập cơ sở dữ liệu của Cửa hàng mật khẩu để tìm nạp mật khẩu của bạn có thể hơi khó khăn. Tuy nhiên, nếu bạn đang sử dụng Emacs, có một cách để tự động hóa quá trình này một cách liền mạch cho bạn.
Để giải quyết vấn đề đó, kho lưu trữ mật khẩu cũng là một gói Emacs đóng vai trò là giao diện người dùng cho chương trình Lưu trữ mật khẩu. Tương tự như back end của nó, password-store rất đơn giản và nhẹ nhàng. Quan trọng hơn, bạn có thể dễ dàng mở rộng các tính năng của nó bằng cách sử dụng một số plugin do cộng đồng của nó thực hiện.
Lưu trữ mật khẩu hoạt động như thế nào?
Password Store là một trình quản lý mật khẩu cực kỳ đơn giản, tạo và sửa đổi mật khẩu ở dạng văn bản thuần túy. Nó chỉ duy trì một tệp văn bản cho mọi tài khoản và mật khẩu mà bạn cung cấp cho nó.
Mặc dù điều này có vẻ không an toàn và lỗi thời, nhưng Password Store làm cho nó hoạt động bằng cách mã hóa tất cả các tệp mà nó lưu trữ. Điều này cho phép bạn có được tính linh hoạt của văn bản thuần túy đồng thời có tính bảo mật và mã hóa của GPG.
Vì chương trình chỉ xử lý các tệp đơn giản nên bạn có thể phân loại và sắp xếp các tệp đó trong các thư mục khác nhau.
Kho mật khẩu cũng cho phép bạn thêm thông tin bổ sung cho các tệp mật khẩu của mình. Điều này là do nó chỉ yêu cầu bạn dành dòng đầu tiên của tệp cho mật khẩu của bạn. Ví dụ:đây là tệp mật khẩu cho một trong các tài khoản diễn đàn của tôi:
thisismysupersecretpassword ===============INFORMATION ==============Tên người dùng:MySuperCoolName Security Câu hỏi 1:Bảo mật Yogi Câu hỏi 2:1992 Toyota Corolla Security Câu 3:Khoá OTP Smith:aabbccddff11223344 ================================================trước>Password Store không đọc bất kỳ thông tin nào sau dòng đầu tiên. Như vậy, tôi có thể dễ dàng thêm bất kỳ thông tin bổ sung nào về tài khoản diễn đàn của mình. Cùng với đó, chương trình không chỉ cho phép bạn tạo thư mục mật khẩu tùy chỉnh mà còn cả các định dạng tùy chỉnh cho mật khẩu của bạn.
Cài đặt Kho mật khẩu
Do tính đơn giản, Password Store rất dễ cài đặt. Hơn nữa, nó cũng có sẵn cho hầu hết các bản phân phối Linux. Ví dụ:bạn có thể cài đặt nó trong Debian và Ubuntu bằng cách sử dụng apt:
sudo apt install pass gnupgTrong Fedora, bạn có thể sử dụng dnf:
sudo dnf cài đặt pass gnupg2Đối với Arch Linux, bạn có thể sử dụng pacman:
sudo pacman -S vượt qua gnupgTạo Kho Mật khẩu của Bạn
Sau khi hoàn tất, việc tạo một kho mật khẩu yêu cầu bạn thực hiện hai việc:
- Trước tiên, bạn cần có khóa GPG. Đây sẽ là khóa được liên kết với Kho mật khẩu của bạn. Bạn có thể tạo một cửa hàng mới dành riêng cho cửa hàng này hoặc sử dụng một cửa hàng cũ mà bạn đã có.
- Thứ hai, bạn cần khởi tạo chính Kho lưu trữ mật khẩu. Đây có thể là một kho lưu trữ mật khẩu đơn giản được duy trì thông qua GPG hoặc một phiên bản được kiểm soát bởi GPG và Git. Dù bằng cách nào, việc tạo hai phiên bản này sẽ chỉ yêu cầu bạn chạy một lệnh duy nhất.
Tạo khóa GPG cho cửa hàng của bạn
Password Store dựa vào GPG cho tất cả các mã hóa của nó. Do đó, bạn cần phải tạo khóa GPG của riêng mình để đảm bảo rằng kho lưu trữ mật khẩu vừa an toàn và chỉ được mã hóa cho bạn.
- Tạo khóa GPG cực kỳ đơn giản. Để làm điều đó, bạn có thể chạy lệnh sau:
gpg --full-create-key
- Thao tác này sẽ chạy trình hướng dẫn tạo khóa, nơi bạn có thể chọn một số tùy chọn cho khóa GPG của mình.
- Từ đây, trình hướng dẫn sẽ hỏi bạn loại thuật toán mã hóa mà bạn muốn sử dụng cho khóa của mình. Đối với hầu hết các phần, thuật toán RSA mặc định sẽ là đủ. Để chọn nó, bạn chỉ cần nhấn Enter .
Đặt độ dài và thời hạn khóa GPG của bạn
- Từ đó, trình hướng dẫn sẽ hỏi bạn độ dài của khóa mà bạn muốn tạo. Trong điều này, nguyên tắc chung là một phím dài hơn sẽ khó bị bẻ khóa hơn một phím ngắn hơn. Với mục đích của bài viết này, tôi đã chọn 4096 cho độ dài khóa của mình.
- Sau khi hoàn tất, trình hướng dẫn sẽ hỏi bạn có muốn khóa của mình hết hạn hay không. Nói chung, việc sử dụng khóa sẽ hết hạn sau một ngày nhất định được coi là thông lệ tốt. Làm như vậy sẽ cho phép bạn tự động thu hồi khóa đã bị xâm phạm hoặc bạn quên mật khẩu.
- Trong trường hợp của tôi, tôi muốn đặt thời gian hết hạn ngắn cho các chìa khóa của mình để tôi không quên chúng. Do đó, tôi đặt tùy chọn này thành “6m”.
- Tiếp theo, bạn sẽ phải nhập cả tên và email. Thông tin này sẽ chỉ được sử dụng làm thông tin hiển thị bất cứ khi nào bạn mã hóa hoặc giải mã dữ liệu.
- Cuối cùng, bạn phải cung cấp mật khẩu để truy cập khóa này. Do đó, mật khẩu của bạn phải vừa mạnh vừa dễ nhớ. Điều này là do bạn sẽ sử dụng mật khẩu này mỗi khi truy cập vào Kho mật khẩu của mình. Điều đó bao gồm việc sao chép mật khẩu hiện có và thêm mật khẩu mới.
Bắt đầu cửa hàng của bạn
Sau khi hoàn tất, điều tiếp theo bạn phải làm là khởi động Kho lưu trữ mật khẩu của mình. Bạn có thể làm điều này theo hai cách:
- Bạn có thể bắt đầu một Kho lưu trữ mật khẩu đơn giản với mã hóa GPG mặc định. Điều này rất hữu ích nếu bạn chỉ muốn một cách đơn giản để lưu trữ và truy cập mật khẩu của mình.
Chạy lệnh sau trong terminal:
cd / home / $ USER / &&chuyển init "your-gpg-email"
Thao tác này sẽ tạo một kho lưu trữ mật khẩu trong thư mục chính của bạn với tên “.password-store”.
- Bạn cũng có thể bắt đầu một Kho lưu trữ mật khẩu do git kiểm soát. Điều này sẽ cho phép bạn kiểm soát tốt lịch sử cửa hàng của mình. Như vậy, bạn sẽ có thể dễ dàng quay lại những thay đổi mà bạn đã thực hiện. Điều này rất hữu ích nếu bạn liên tục thay đổi mật khẩu cho các tài khoản của mình.
Nếu bạn muốn chạy một cửa hàng do git kiểm soát, bạn phải chạy lệnh sau:
chuyển git init
Làm như vậy sẽ bắt đầu kho lưu trữ git cho cửa hàng của bạn. Từ đây, bạn có thể truy cập tất cả các lệnh của git cho cửa hàng của mình bằng cách thêm "chuyển" vào git. Bạn có thể xem tất cả các điều khiển từ xa git cho cửa hàng của mình bằng cách chạy lệnh sau:
chuyển git từ xa get-url --all
Tích hợp Emacs với Password Store
Nếu bạn là người dùng Emacs, bạn có thể tích hợp Cửa hàng mật khẩu vào ứng dụng Emacs của mình. Bắt đầu bằng cách tải xuống gói “lưu trữ mật khẩu” từ kho lưu trữ MELPA.
Theo mặc định, kho lưu trữ này không đi kèm với cài đặt Emacs tiêu chuẩn. Do đó, trước tiên bạn cần thêm nó một cách rõ ràng vào cấu hình Emacs của mình.
- Để làm điều đó, bạn có thể viết lệnh sau vào tệp “init.el” của mình:
(add-to-list 'package-archives' ("melpa". "https://melpa.org/packages/"))(package-initialize)
- Sau khi hoàn tất, hãy tải lại ứng dụng Emacs của bạn để áp dụng các thay đổi.
- Nhấn Alt + X và nhập
package-install
. Thao tác này sẽ tải một bộ đệm lệnh trong đó Emacs sẽ hỏi bạn tên của gói mà bạn muốn cài đặt. Nhậppassword-store
.
- Sau đó, Emacs sẽ tìm nạp, biên dịch và cài đặt mã nguồn cho gói lưu trữ mật khẩu. Khi kết thúc, các lệnh của nó sẽ có thể truy cập được bằng cách nhấn Alt + X và nhập
password-store-version
.
Thêm mật khẩu mới vào cửa hàng của bạn
- Sau khi hoàn tất, việc truy cập cửa hàng của bạn tương đối đơn giản. Ví dụ:bạn có thể thêm mật khẩu mới bằng cách nhấn Alt + X và nhập
password-store-insert
. - Thao tác này sẽ đưa ra lời nhắc trong đó gói sẽ yêu cầu bạn nhập tên mật khẩu mà bạn muốn chèn.
- Bây giờ hãy nhập mật khẩu của chính nó. Tương tự như các lời nhắc mật khẩu khác, dữ liệu nhập ở đây sẽ bị che.
Chỉnh sửa mục nhập cửa hàng của bạn
Một trong những điểm mạnh chính của Password Store là bạn có thể tùy chỉnh các tệp mật khẩu của mình. Đến lượt nó, điều này cho phép bạn cung cấp một định dạng tùy ý có thể chứa bất kỳ thứ gì.
- Để thực hiện việc này, bạn cần chỉnh sửa tệp mật khẩu của mình. Bạn có thể làm điều đó bằng cách nhấn Alt + X và nhập
password-store-edit
. - Làm điều đó cũng sẽ đưa ra lời nhắc trong đó gói sẽ yêu cầu mật khẩu mà bạn muốn chỉnh sửa. Trong trường hợp của tôi, tôi muốn thêm các câu hỏi bảo mật bổ sung cho mục nhập “tài khoản diễn đàn” của mình.
- Từ đây, gói sẽ nhắc bạn nhập mật khẩu khóa GPG của mình. Sau đó, Emacs sẽ hiển thị nội dung của tệp mật khẩu trong một bộ đệm riêng biệt mà bạn có thể chỉnh sửa.
- Sau khi hoàn tất, bạn có thể lưu tệp mật khẩu của mình bằng cách nhấn Ctrl + X , Ctrl + S . Từ đó, bạn có thể hoàn tất chỉnh sửa bằng cách nhấn Ctrl + X , K . Thao tác này sẽ đóng bộ đệm mật khẩu và yêu cầu Cửa hàng mật khẩu thực hiện các thay đổi đối với cây tệp của nó.
Xóa mật khẩu trong cửa hàng của bạn
Tương tự, xóa mật khẩu trong cửa hàng của bạn cũng là một quá trình đơn giản. Bạn có thể xóa mật khẩu bằng cách nhấn Alt + X và nhập password-store-remove
. Làm điều này sẽ xuất hiện lời nhắc yêu cầu bạn nhập mật khẩu mà bạn muốn xóa.
Trong trường hợp của tôi, tôi muốn xóa mật khẩu cũ cho một trang web mà tôi không còn truy cập nữa. Vì vậy, tôi đã nhập “my-old-password” và nhấn Enter .
Sao chép Mật khẩu từ Cửa hàng
Cuối cùng, gói này cũng cho phép bạn sao chép mật khẩu của mình trực tiếp từ Emacs. Điều này rất hữu ích nếu bạn muốn nhanh chóng truy cập vào cửa hàng của mình bất cứ khi nào bạn đăng nhập vào một dịch vụ hoặc một tài khoản.
- Để thực hiện việc này, bạn có thể nhấn Alt + X và nhập
password-store-copy
. - Thao tác này sẽ tải một lời nhắc yêu cầu bạn nhập mật khẩu mà bạn muốn sao chép vào khay nhớ tạm.
Đó là nó! Bây giờ bạn đã có ý tưởng cơ bản về cách sử dụng Emacs làm trình quản lý mật khẩu của mình. Hơn nữa, giờ đây bạn cũng biết cách sử dụng trình quản lý mật khẩu hướng tệp, đơn giản với Password Store.
Các câu hỏi thường gặp
1. Password Store có thể tạo mật khẩu tương tự như KeepassXC không?
Đúng! Gói có thể tạo mật khẩu cho các tài khoản mới. Bạn có thể truy cập chức năng này bằng cách nhấn Alt + X và nhập password-store-generate
.
Điều này sẽ thông báo cho gói để nhắc nhở một tài khoản mới. Từ đó, nó sẽ tạo ra một mật khẩu đủ ngẫu nhiên cho tài khoản đó. Sau đó, bạn có thể sao chép mật khẩu đó bằng cách sử dụng password-store-copy
chức năng như được mô tả ở trên.
2. Có thể tích hợp hỗ trợ mật khẩu một lần (OTP) cho cửa hàng của tôi không?
Đúng! Cửa hàng mật khẩu có một plugin tuyệt vời có thể quản lý OTP từ bên trong dòng lệnh. Tuy nhiên, để sử dụng nó, bạn sẽ cần cài đặt một gói bổ sung để tạo OTP.
Ví dụ:trong Debian và Ubuntu, bạn có thể chạy lệnh sau để cài đặt nó:
sudo apt install pass-extension-otp
Trong Fedora, bạn có thể sử dụng dnf:
sudo dnf install pass-otp
Trong Arch Linux, bạn có thể sử dụng pacman:
sudo pacman -S pass-otp
Sau khi hoàn tất, bạn có thể chạy lệnh này để chèn liên kết OTP vào tài khoản cửa hàng:
pass otp insert "account-name"
Từ đó, tất cả những gì bạn cần làm là chạy pass otp "account-name"
để tạo mã OTP cho tài khoản đó.
3. Tôi có thể hiển thị mật khẩu dưới dạng cây trong Emacs không?
Thật đáng buồn không. Tuy nhiên, bạn có thể hiển thị tất cả mật khẩu của mình thông qua tính năng hoàn thành tab nếu bạn đang sử dụng gói hoàn thành bộ đệm nhỏ.
Các gói phổ biến nhất cung cấp chức năng này là helm và mct. Cả hai đều có sẵn trong kho lưu trữ GNU ELPA và do đó, có thể dễ dàng cài đặt thông qua package-install
chức năng.