Lệnh ssh-add không thêm danh tính của tôi vào ssh-agent


20

Tôi mới cài đặt Ubuntu 13.10 và tôi sắp thêm danh tính của mình vào ssh-agent nên tôi mở Terminal và làm điều này

bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$ ssh-add
bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$ 

có ý kiến ​​gì không

Câu trả lời:


26

Từ man ssh-add:

ssh-add thêm nhận dạng khóa riêng cho tác nhân xác thực, ssh-agent (1). Khi chạy mà không có đối số, nó sẽ thêm các tệp ~ / .ssh / id_rsa, ~ / .ssh / id_dsa, ~ / .ssh / id_ecdsa và ~ / .ssh / nhận dạng. [...]

Không thể đọc được tệp nhận dạng bởi bất kỳ ai trừ người dùng. Lưu ý rằng ssh-add bỏ qua các tệp nhận dạng nếu người khác truy cập được.

Vì vậy, do The agent has no identities.lỗi, có thể bạn không có các tệp đó hoặc có thể các tệp đó có thể được truy cập bởi những người khác. Bạn có thể kiểm tra chúng bằng lệnh sau:

ls -l ~/.ssh

Ngoài ra, sau khi bạn chạy ssh-addlệnh, hãy chạy echo $?để xem trạng thái lỗi của lệnh trước đó. Nếu trạng thái thoát trả về 0, lệnh đã được thực hiện thành công. Nếu trạng thái thoát trả về giá trị khác không, lệnh không thực thi.

Xem man ssh-addđể biết thêm.


đúng, tôi không có các tệp đó và giá trị thoát ssh-addlà 1 nhưng không phải 0. rõ ràng có một số vấn đề với quyền của tôi vì các tệp không được tạo. Bất cứ ý tưởng làm thế nào tôi có thể khắc phục điều này? thư mục ~/.sshtồn tại (trống) nhưng nó không hiển thị khi tôi làmls -l
bjorgvin

Tôi đã chạy lệnh này ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsađể người đàn ông ssh-keygen giúp đỡ, cảm ơn.
bjorgvin

1
Điều đó đã cho gợi ý nhập khẩu vào đúng hướng cho tôi. Tôi đã có nhiều khóa ssh và trước tiên phải thêm khóa thích hợp bằng ssh-add <keyname>. Sau đó, nó làm việc như một lá bùa. thx
paulroho

3
Vì một số lý do, tôi không có bất kỳ đầu ra nào khi chạy ssh-addsau khi nhập cụm mật khẩu, (nó không thành công khi giữ $?lại 1. Tôi đã cố gắng chmod 600 ~/.ssh/id_rsa* không gặp may. Tôi đã tạo một khóa mới từ đầu ssh-keygenvà sau đó nó hoạt động. ok now (Khóa không thành công được tạo bằng cách sử dụng ssh-keygen -t rsa -b 4096 -C "your_email@example.com", tôi chỉ chạy ssh-keygenthay thế vào lúc này).
GabLeRoux

1
Tôi đã phải làm như sau theo thứ tự sau: (nếu cần, tạo khóa ssh mới và đảm bảo thêm khóa .pub vào github), sau đó cd ~/.ssh && ls -lahđể xem quyền đọc / ghi trong thư mục .ssh, hãy thay đổi tất cả các khóa ) chmod 400 myKeysau đó ssh-add **ABSOLUTE**pathToKey nếu bạn không thêm đường dẫn ABSOLUTE , nó sẽ không hoạt động. Sau đó, thử nghiệm nó vớissh -vT git@github.com
jungledev

3

Bổ sung cho các cân nhắc ở trên, tôi thấy rằng nếu bạn đang sử dụng một vỏ thay thế, bạn có thể cần phải định cấu hình nó để tải ssh-agent. Ví dụ, trong Zsh, người ta phải thêm ssh-agentvào pluginstrong .zshrc.

Phương pháp này hoạt động rất tốt trên Ubuntu 17.10 với Zsh mới nhất

Những người khác thấy rằng với id_ed25519các khóa, rsađã làm việc mà không cần một plugin. Sau khi thêm ssh-agentvào ~/.zshrc, khởi động lại shell với exec "$SHELL"và thực thi:ssh-add ~/.ssh/id_ed25519

Enter passphrase for ~/.ssh/id_ed25519: 
Identity added: ~/.ssh/id_ed25519 (user@host)

Thêm plugin ssh-agent vào .zshrc thông qua các hướng dẫn tại đây: github.com/robbyrussell/oh-my-zsh/tree/master/plugins/ssh-agent
Kariem
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.