Khóa ssh vẫn tồn tại ngay cả sau khi tôi xóa khóa riêng tư khỏi ~ / .ssh - tại sao?


18

Tôi đã tạo các khóa ssh (công khai và riêng tư) và lưu trữ chúng trong ~/.ssh/myServer/.

Tôi đã thêm khóa công khai vào ~/.ssh/authorized_keystệp của máy chủ và mọi thứ đều hoạt động tốt!

Trong nỗ lực cố gắng và hiểu cách các phím hoạt động, tôi đã xóa chúng và rất ngạc nhiên khi thấy rằng tôi vẫn có thể kết nối với máy chủ.

Tại sao tôi vẫn có thể kết nối mà không cần mật khẩu?

Câu trả lời:


24

Chào mừng bạn đến với thế giới tuyệt vời của OS X Keychain và ssh-agent ! Từ trang người đàn ông:

ssh-agent là một chương trình giữ các khóa riêng được sử dụng để xác thực khóa chung (RSA, DSA, ECDSA). Ý tưởng là ssh-agent được bắt đầu vào đầu phiên X hoặc phiên đăng nhập và tất cả các cửa sổ hoặc chương trình khác được bắt đầu với tư cách là khách hàng của chương trình ssh-agent. Thông qua việc sử dụng các biến vari-ables môi trường ables, tác nhân có thể được định vị và tự động sử dụng để xác thực khi đăng nhập vào các máy khác bằng ssh (1).

Khóa riêng của bạn đã được lưu trong bộ nhớ cache và được lấy từ đó để xác thực phiên của bạn. OS X, thông qua Keychain, tự động lưu bộ đệm ssh-agent cho bạn vì nó "thân thiện với người dùng". Nó có thể là một chút đáng báo động, nhưng nó chủ yếu là một điều tiện dụng mà điều này xảy ra.

Thời gian tồn tại mặc định cho các khóa được lưu trong bộ nhớ cache là mãi mãi. Đó có lẽ không phải là một mặc định tuyệt vời. Nó sẽ xóa các khóa được lưu trong bộ nhớ cache trên chu kỳ đăng xuất / đăng nhập hoặc khởi động lại. Hoặc bạn có thể buộc xả bằng cách giết tác nhân hiện tại bằng cách sử dụng:

ssh-add -D

Bạn có thể liệt kê tất cả thông tin đăng nhập được lưu trữ bởi tác nhân bằng cách chạy:

ssh-add -l

Điều này sẽ làm tương tự nhưng hiển thị các khóa công khai đầy đủ:

ssh-add -L

Ồ Cảm ơn rất nhiều! Tôi thực sự bối rối về những gì đang xảy ra. Bây giờ tôi hiểu rồi!
poltj18

2
@FAYNUS nếu điều này giải quyết vấn đề cho bạn, vui lòng nhấn dấu kiểm màu xanh ở bên phải để đánh dấu là "câu trả lời được chấp nhận"! Chào mừng bạn đến hỏi khác nhau!
Ian C.
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.