Trên OSX, ssh-add
máy khách gốc có một đối số đặc biệt để lưu cụm mật khẩu của khóa riêng trong khóa OSX, điều đó có nghĩa là thông tin đăng nhập bình thường của bạn sẽ mở khóa để sử dụng với ssh. Trên OSX Sierra trở lên, bạn cũng cần định cấu hình SSH để luôn sử dụng móc khóa (xem Bước 2 bên dưới).
Ngoài ra, bạn có thể sử dụng khóa mà không cần cụm mật khẩu, nhưng nếu bạn thích bảo mật chắc chắn chấp nhận được với quy trình công việc này.
Bước 1 - Lưu trữ chìa khóa trong móc khóa
Chỉ cần làm điều này một lần:
ssh-add -K ~/.ssh/[your-private-key]
Nhập cụm mật khẩu chính của bạn và bạn sẽ không được hỏi lại.
(Nếu bạn đang dùng phiên bản OSX trước Sierra, bạn đã hoàn thành, Bước 2 là không bắt buộc.)
Bước 2 - Cấu hình SSH để luôn sử dụng móc khóa
Dường như OSX Sierra đã loại bỏ hành vi thuận tiện trong việc duy trì các khóa của bạn giữa các lần đăng nhập và bản cập nhật cho ssh không còn sử dụng móc khóa theo mặc định. Vì điều này, bạn sẽ được nhắc nhập cụm mật khẩu cho một khóa sau khi bạn nâng cấp và một lần nữa sau mỗi lần khởi động lại.
Giải pháp khá đơn giản và được nêu trong nhận xét chủ đề github này . Đây là cách bạn thiết lập nó:
Đảm bảo bạn đã hoàn thành Bước 1 ở trên để lưu trữ khóa trong móc khóa.
Nếu bạn chưa có, hãy tạo một ~/.ssh/config
tập tin. Nói cách khác, trong .ssh
thư mục trong thư mục nhà của bạn, tạo một tệp được gọi config
.
Trong .ssh/config
tệp đó , thêm các dòng sau:
Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa
Thay đổi ~/.ssh/id_rsa
tên tệp thực của khóa riêng của bạn. Nếu bạn có các khóa riêng khác trong ~.ssh
thư mục của mình , hãy thêm một IdentityFile
dòng cho mỗi khóa. Ví dụ: tôi có thêm một dòng đọc IdentityFile ~/.ssh/id_ed25519
khóa riêng thứ 2.
Đây UseKeychain yes
là phần quan trọng, yêu cầu SSH tìm trong móc khóa OSX của bạn để tìm cụm mật khẩu chính.
Đó là nó! Lần tới khi bạn tải bất kỳ kết nối ssh nào, nó sẽ thử các khóa riêng mà bạn đã chỉ định và nó sẽ tìm cụm mật khẩu của chúng trong móc khóa OSX. Không cần gõ mật khẩu.