Lỗi Gặp Phải
Bạn mở Chrome, Slack, hoặc SSH Agent — hay đơn giản là vừa đánh thức Mac sau khi ngủ — và hộp thoại này xuất hiện:
The system was unable to unlock your login keychain.
Bạn nhập mật khẩu. Nó vẫn tiếp tục hỏi. Hoặc nó âm thầm chặn ứng dụng truy cập vào thông tin đăng nhập cần thiết. Dù thế nào, có gì đó đang bị hỏng.
Nguyên nhân hầu như luôn là sự không khớp mật khẩu: keychain của bạn được mã hóa bằng mật khẩu cũ, trong khi mật khẩu đăng nhập hiện tại của bạn đã khác. macOS không thể tự động mở khóa khi đăng nhập.
Nguyên Nhân Gốc Rễ
macOS mã hóa keychain đăng nhập bằng mật khẩu tài khoản tại thời điểm keychain được tạo. Khi hai mật khẩu này không còn khớp nhau, việc tự động mở khóa sẽ thất bại mỗi lần bạn đăng nhập.
Các nguyên nhân phổ biến:
- Quản trị viên hoặc quá trình khôi phục qua Apple ID đã đặt lại mật khẩu mà không biết mật khẩu cũ
- Bạn đổi mật khẩu trong System Settings nhưng keychain không được cập nhật theo — thường xảy ra trên Mac bật FileVault hoặc Mac dùng chip Apple Silicon
- File keychain bị hỏng
- Bạn đã chuyển dữ liệu từ Mac khác; keychain đi theo nhưng mật khẩu chưa bao giờ khớp
Cách Sửa 1: Đồng Bộ Mật Khẩu Keychain Với Mật Khẩu Đăng Nhập Hiện Tại
Bạn vẫn nhớ mật khẩu cũ? Đây là cách sửa sạch nhất — không mất dữ liệu, chỉ năm bước.
- Mở Keychain Access (nhấn
⌘ Space, gõ Keychain Access) - Vào Edit → Change Password for Keychain "login"
- Nhập mật khẩu cũ vào ô Current Password
- Nhập mật khẩu đăng nhập mới vào cả hai ô New Password và Verify
- Nhấn OK
Đăng xuất rồi đăng nhập lại. Hộp thoại lỗi sẽ không còn xuất hiện nữa.
Cách Sửa 2: Chạy Keychain First Aid
Các phiên bản macOS cũ hơn có công cụ sửa chữa tích hợp giúp giải quyết hầu hết các trường hợp không khớp mật khẩu một cách tự động.
- Mở Keychain Access
- Trên thanh menu, vào Keychain Access → Keychain First Aid
- Nhập mật khẩu tài khoản hiện tại của bạn
- Chọn Repair, rồi nhấn Start
Lưu ý: Apple đã loại bỏ Keychain First Aid trong macOS Ventura (13.0). Nếu không thấy tùy chọn này trên thanh menu, hãy chuyển sang Cách Sửa 3.
Cách Sửa 3: Đặt Lại Keychain Đăng Nhập
Quên mật khẩu cũ, hoặc file keychain bị hỏng? Hãy đặt lại. Lưu ý: bạn sẽ mất toàn bộ mật khẩu đã lưu trong keychain đó. Xuất những gì có thể trước khi tiến hành.
Xuất mật khẩu trước (nếu bạn vẫn còn truy cập được)
- Trong Keychain Access, chọn keychain login ở thanh sidebar
- Chọn các mục bạn muốn giữ lại, rồi vào File → Export Items
- Lưu dưới định dạng
.p12với cụm mật khẩu bạn không thể quên
Đặt lại qua Keychain Access
- Mở Keychain Access
- Vào Preferences → Reset My Default Keychains
- Xác nhận bằng mật khẩu hiện tại của bạn
Một keychain đăng nhập mới sẽ được tạo, được mã hóa bằng mật khẩu hiện tại của bạn. Các ứng dụng sẽ yêu cầu nhập lại thông tin đăng nhập trong lần sử dụng tiếp theo — điều đó là bình thường.
Đặt lại qua Terminal
# Bước 1: Sao lưu keychain cũ
mv ~/Library/Keychains/login.keychain-db ~/Library/Keychains/login.keychain-db.bak
# Bước 2: Đăng xuất rồi đăng nhập lại — macOS sẽ tự động tạo keychain đăng nhập mới
Chưa cần xóa bản sao lưu ngay. Giữ lại khoảng một tuần phòng trường hợp bạn cần khôi phục dữ liệu từ đó.
Cách Sửa 4: Ngăn Keychain Tự Khóa Giữa Phiên Làm Việc
Keychain mở khóa bình thường khi đăng nhập nhưng cứ liên tục hỏi mật khẩu trong ngày? Bộ hẹn giờ tự khóa đang được đặt quá ngắn.
- Mở Keychain Access
- Nhấp chuột phải vào login trong sidebar → Change Settings for Keychain "login"
- Bỏ chọn Lock after X minutes of inactivity và Lock when sleeping
- Nhấn Save
Keychain sẽ giữ nguyên trạng thái mở khóa trong suốt phiên làm việc. Phù hợp với hầu hết mọi người dùng Mac cá nhân.
Cách Sửa 5: Kiểm Tra File Keychain Trùng Lặp
Việc chuyển dữ liệu từ Mac khác đôi khi để lại các file keychain cũ xung đột với keychain đang hoạt động.
ls -la ~/Library/Keychains/
Một hệ thống bình thường thường trông như thế này:
drwx------ 4 youruser staff 128 Mar 20 09:12 .
drwx--x--x 58 youruser staff 1856 Mar 20 09:00 ..
-rw------- 1 youruser staff 49152 Mar 20 09:12 login.keychain-db
drwx------ 1 youruser staff 128 Mar 20 09:12 [UUID-string]/
Nếu bạn thấy các file .keychain-db lạ không nhận ra, hãy chuyển chúng đi thay vì xóa ngay:
# Chuyển ra Desktop trước — chỉ xóa sau khi xác nhận mọi thứ hoạt động bình thường
mv ~/Library/Keychains/unknown-old.keychain-db ~/Desktop/
Kiểm Tra Kết Quả
Sau khi áp dụng một cách sửa, hãy xác nhận nó thực sự có tác dụng trước khi kết luận xong việc.
- Vào Apple menu → Log Out
- Đăng nhập lại bằng mật khẩu hiện tại
- Mở ứng dụng trước đây hay kích hoạt hộp thoại lỗi (Chrome và Slack là các trường hợp thử nghiệm tốt)
- Không có hộp thoại = keychain đang được mở khóa đúng cách khi đăng nhập
Để kiểm tra nhanh qua Terminal:
# Trả về "Keychain is accessible" nếu keychain đăng nhập đã được mở khóa
security unlock-keychain ~/Library/Keychains/login.keychain-db && echo "Keychain is accessible"
Phòng Ngừa
Lỗi này hầu như luôn bắt nguồn từ việc buộc đặt lại mật khẩu — ai đó quên mật khẩu và dùng tính năng khôi phục qua Apple ID. Keychain không bao giờ được cập nhật theo.
- Luôn đổi mật khẩu từ bên trong macOS qua System Settings → Users & Groups → Change Password. Cách này cập nhật mật khẩu keychain trong cùng một thao tác. Chế độ Recovery và tính năng đặt lại qua Apple ID thì không làm vậy.
- Lưu mật khẩu ở nơi khác ngoài Mac. Nếu bạn bị khóa khỏi macOS, bạn cũng bị khóa khỏi Keychain. Một ghi chú bảo mật trong trình quản lý mật khẩu khác, hoặc khóa phần cứng, đều hoạt động tốt. Cần tạo mật khẩu ngẫu nhiên mạnh? ToolCraft's Password Generator chạy hoàn toàn trên trình duyệt — không có dữ liệu nào được gửi lên máy chủ.
- Sau bất kỳ lần đặt lại qua Apple ID nào, hãy thực hiện Cách Sửa 1 ngay lập tức — trước khi mở Chrome, Slack, hay bất cứ thứ gì đọc từ Keychain. Làm ngay khi sự không khớp còn mới và mật khẩu cũ vẫn còn trong trí nhớ.

