Không thể xóa khóa khỏi ssh-agent. Ngay cả việc khởi động lại cũng không giúp được gì


18

Một thời gian ngắn trước tôi nhận thấy rằng có ba khóa trong ssh-agent của tôi mà tôi không thể xóa. ssh-add -lcho thấy ba chìa khóa; Tôi chạy ssh-add -D, và được thông báo "Tất cả danh tính đã bị xóa."; nhưng sau đó ngay lập tức ssh-add -lcho thấy ba chìa khóa tương tự.

Nếu tôi đăng xuất và sau đó quay lại, các phím vẫn còn đó. Nếu tôi khởi động lại máy, các phím vẫn còn đó. Nếu tôi xóa thư mục khóa /tmp, tôi không thể kết nối với ssh-agentbất kỳ ai nữa, nhưng khi đăng xuất và đăng nhập lại, các phím sẽ hoạt động trở lại. Họ là bất khả xâm phạm.

Chìa khóa là của tôi chứ không phải của ai khác, theo như tôi có thể nói. Tôi có thể truy cập các dịch vụ địa phương thông thường của tôi với họ. Nhưng khi tôi thêm một trong các khóa một lần nữa ssh-add, đưa đường dẫn đến tệp khóa riêng, khóa mới có giao diện khác trong đầu ra của ssh-add -l:

2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f /home/jruser/.ssh/jruser-keyname-20110418 (RSA)

so với bản gốc:

2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f jruser 04/18/2011 keyname (RSA)

Có cách nào để giải thích hợp lý cho hành vi này? Tôi đoán thực sự có hai câu hỏi:

  1. Làm thế nào để các khóa được quản lý để được giữ lại ngay cả trên các lần khởi động lại? Kiến thức cơ bản của tôi về sshgợi ý rằng các khóa luôn phải được thêm bằng tay.

  2. Tại sao ssh-agent -Dnói dối với tôi về việc loại bỏ danh tính?


Cũng có lỗi Fedora / Red Hat: bugzilla.redhat.com/show_orms.cgi?id=1205546
spoovy

Câu trả lời:


11

Có vẻ như nó có thể là một lỗi. Tôi đang có hành vi tương tự trong Ubuntu 10.10. Một tìm kiếm google đã tìm thấy một báo cáo lỗi cho Debian: http://bugs.debian.org/cgi-bin/ormsreport.cgi?orms=472477

Để xóa các phím phụ tôi đã hiển thị, tôi chỉ cần di chuyển chúng ra khỏi thư mục ~ / .ssh.


Đúng! Điều này làm việc cho tôi. Cảm ơn! Tôi sử dụng Debian Wheezy beta 4.
Tarrasch

3
Cuối cùng oằn xuống và điều tra. Thủ phạm là gnome-keyring-daemon, a) tự động tải tất cả các khóa trong ~ / .ssh và b) từ chối từ bỏ chúng. Giải pháp là giữ cho trình quản lý gnome-keyring không bao giờ khởi động, điều khó khăn cuối cùng đã đạt được bằng cách loại bỏ quyền thực thi của tệp chương trình.
Sean

Có một giải pháp cho vấn đề này mà không liên quan đến quản lý gnome-keyring-manager? tức là sửa lỗi gnome-keyring-manager để nó xóa các khóa mà nó đã nói với?
Phil

1
Đó là năm 2018 và điều này vẫn có liên quan. Phải di chuyển các phím ra khỏi ~ / .ssh
Carson Ip

1
Ồ Xóa các khóa khỏi ~ / .ssh và đặt vào thư mục khác như @CarsonIp đã đề cập và sau đó sử dụng lệnh ssh-agent trong bashrc của bạn để tải thủ công các khóa ssh từ thư mục khác. PIMA!
Ligemer

3

Khóa của bạn được lưu dưới dạng tệp trong thư mục ẩn: /home/jruser/.ssh/ đó là cách chúng tồn tại sau khi khởi động lại. Tôi đoán là ssh-add -D đang xóa chúng khỏi bộ nhớ nhưng khi bạn khởi động lại thì chúng được đọc từ thư mục .ssh và do đó bạn lại có chúng.


4
Nhưng ssh-add -DKHÔNG xóa chúng khỏi bộ nhớ. Nó không có tác dụng gì cả.
Sean
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.