MacOS Keychain Access giữ cụm mật khẩu SSH vô thời hạn


0

Để thuận tiện, tôi muốn MacOS giữ cụm mật khẩu RSA của mình, nhưng không phải vô thời hạn (vì mục đích bảo mật). Tôi tin rằng SSH sẽ sử dụng Truy cập khóa với cấu hình SSH này

Host *
     UseKeychain true

Và tôi tin rằng nó sẽ sử dụng đại lý ssh với cấu hình này:

Host *
     AddKeysToAgent yes

Một số câu hỏi:

  1. Có vẻ như có hai lựa chọn: đại lý ssh hoặc là Truy cập khóa . Nếu bạn cần sự tiện lợi của tạm thời lưu trữ cụm mật khẩu, tiêu chuẩn là gì?
  2. Làm cách nào tôi có thể xác định và xóa cụm mật khẩu cho khóa riêng mặc định của mình trong Keychain Access? Tôi thấy một khóa riêng chưa được đặt tên, nhưng tôi không muốn xóa nó mà không biết chắc chắn đó là khóa SSH được lưu trữ của mình
  3. Tùy chọn tốt nhất là gì nếu tôi muốn thường xuyên xóa bất kỳ cụm mật khẩu khóa riêng nào? tôi có thể dùng ssh-thêm -D theo một công việc định kỳ

Câu trả lời:


1

Trước khi bắt đầu, hãy làm rõ một vài điểm:

  • macOS sẽ cho phép bạn lưu trữ khóa riêng cụm mật khẩu trong móc khóa macOS.
  • ssh-agent (trên macOS hoặc bất kỳ hệ thống nào) giữ giải mã khóa riêng trong trí nhớ .

Sự khác biệt là quan trọng để trả lời câu hỏi của bạn.

  1. Có vẻ như có hai tùy chọn: ssh-agent hoặc Keychain Access.

Không chính xác. Xem làm rõ ở trên. Nếu bạn sử dụng UseKeychain yes chỉ thị trong của bạn ~/.ssh/config, sau đó bất kỳ chương trình kết nối với ssh-agent ổ cắm sẽ cho phép ssh-agent để truy cập vào Keychain cho cụm mật khẩu để giải mã khóa riêng của bạn. nếu bạn cũng thế sử dụng AddKeysToAgent yes Chỉ thị, sau đó khóa được giải mã sẽ được lưu trữ trong tác nhân để sử dụng trong tương lai. Cũng hữu ích để xem một câu hỏi liên quan khác .

... Nếu bạn cần sự tiện lợi của việc lưu trữ tạm thời cụm mật khẩu, tiêu chuẩn là gì?

Có (theo hiểu biết của tôi) không có cách nào để macOS lưu trữ các cụm mật khẩu tạm thời . Tuy nhiên, một giải pháp thỏa mãn một phần cho hiệu quả gần như tương tự có thể có - xem câu trả lời cho câu hỏi 3 dưới đây.

  1. Làm cách nào tôi có thể xác định và xóa cụm mật khẩu cho khóa riêng mặc định của mình trong Keychain Access? Tôi thấy một khóa riêng chưa được đặt tên, nhưng tôi không muốn xóa nó mà không biết chắc chắn đó là khóa SSH được lưu trữ của mình.

Nếu bạn mở Keychain Access trên máy Mac và tìm kiếm ssh, bạn có thể sẽ không thấy cụm mật khẩu khóa ssh của mình. Bắt đầu với macOS Sierra (10.12), Apple đã di chuyển móc khóa nào ssh chìa khóa đã được lưu trữ. Để xem nó, bạn cần chọn "Xem & gt; & gt; Hiển thị các mục vô hình" và sau đó các mục mật khẩu khóa ssh sẽ hiển thị.

Rất có thể là "khóa riêng chưa được đặt tên" mà bạn đang thấy là một số khóa RSA (hoặc DSA) khác.

  1. Tùy chọn tốt nhất là gì nếu tôi muốn thường xuyên xóa bất kỳ cụm mật khẩu khóa riêng nào? tôi có thể dùng ssh-add -D theo một công việc định kỳ.

Trong khi bạn có thể đặt ssh-add -D vào một công việc định kỳ, và nó có thể sẽ làm một số điều bạn muốn, nó sẽ không loại bỏ cụm mật khẩu từ móc khóa. Nó sẽ chỉ xóa bộ nhớ của chạy ssh-agent của tất cả giải mã khóa riêng. Nếu bạn có UseKeychain yes trong cấu hình của bạn, ssh-agent sẽ vui vẻ giải mã lại khóa lần sau khi cần (xem câu trả lời ở trên cho câu hỏi 1).

Một cách khác để thỏa mãn mong muốn ngụ ý của bạn là không có khóa giải mã mọi lúc là tắt cả hai UseKeychainAddKeysToAgent, như trong:

Host *
  UseKeychain no
  AddKeysToAgent no

Sau đó, thêm thủ công để chạy ssh-agent với tuổi thọ hạn chế sử dụng -t <lifetime> tùy chọn để ssh-add, như trong:

ssh-add -t 4h ~/.ssh/id_rsa

Điều đó sẽ thêm khóa RSA (mặc định) của bạn vào đại lý với thời gian tồn tại là 4 giờ. Sau bốn giờ, chìa khóa sẽ được gỡ bỏ tự động.

Theo tôi biết, không có chỉ thị nào cho người dùng của bạn ~/.ssh/config để chỉ định thời gian tồn tại mặc định của bất kỳ khóa nào được thêm vào tác nhân, cũng không có cách nào trong hệ thống sshd_config. Tuy nhiên, ở đó có thể là một cách để nói với macOS khởi động tác nhân với thời gian tồn tại mặc định bằng cách sử dụng -t <lifetime> Tùy chọn. Đối với intrepid, tệp plist tác nhân khởi chạy được lưu trữ trong /System/Library/LaunchAgents/com.openssh.ssh-agent.plist.

Khác cũ hơn, có thể vẫn còn cách tiếp cận khóa họ móc khóa trong khi ngủ.

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.