Tự động mở khóa GPG

20251805 #tech #linux

Mình dùng pass làm trình quản lý mật khẩu. Mỗi lần muốn nhập thông tin đăng nhập, mình phải mở khóa GPG key dùng để mã hóa các file mật khẩu.

Ở máy bàn, nơi rất ít khả năng người khác có thể tiếp cận, mình không khóa key này để thuận tiện hơn. Do đó mình sẽ mở khóa sẵn GPG key khi đăng nhập thay vì nhập mật khẩu mỗi khi cần. Mình dùng pam-gnupg để làm điều này.

Điều kiện

  1. Thư mục .gnupg nên đặt ở ~/.
  2. Mật khẩu người dùng linux phải giống với mật khẩu mở khóa khóa GPG.

Cài đặt

xbps-install -S pam-gnupg

Lấy mã định danh

Bước này chúng ta tìm mã định danh cho key mà bạn muốn mở khóa tự động.

gpg -K --with-keygrip

Cài đặt PAM

auth     optional  pam_gnupg.so store-only
session  optional  pam_gnupg.so

Sau khi thêm vào, /etc/pam.d/system-local-login sẽ trông như thế này:

#%PAM-1.0

auth      include   system-login
auth      optional  pam_gnupg.so store-only
account   include   system-login
password  include   system-login
session   include   system-login
session   optional  pam_gnupg.so

Thành quả

Sau khi thực hiện xong các bước trên, hãy khởi động lại máy và đăng nhập như bình thường. Nếu đã làm đúng, bạn sẽ thấy một tiến trình tên là gpg-agent đang chạy ngay sau khi đăng nhập.

Gỡ bỏ

Để gỡ bỏ hãy chạy lệnh này:

xbps-remove -R pam-gnupg

Sau đó xóa hai dòng đã thêm trong bước Cài đặt pam.d phía trên.

Ghi chú

Tìm hiểu bài viết này để tối giản hóa thao tác đăng nhập.


Bài viết liên quan