Bạn có thể gặp lỗi "could not open a connection to your authentication agent" khi cố thêm passphrase khóa bằng lệnh ssh-add. Vấn đề đặc biệt này thường do ssh-agent không được gán đúng, đó là lý do nhiều người thấy nó trở thành vấn đề trong hoàn cảnh hơi bất thường.
Ví dụ, bạn có thể gặp lỗi này khi dùng RaspberryPi chạy Raspbian, router nhúng với command prompt mò được, hoặc terminal Linux Android. Bạn dễ dàng khắc phục bằng một lệnh đơn giản không yêu cầu bạn phải làm gì nhiều bất kể thiết bị bạn đang làm việc hoặc shell bạn đang dùng.
Khắc Phục Lỗi Authentication Agent
Giả sử bạn đã có ssh-agent chạy, bạn không cần khởi động lại nó. Thay vào đó, bạn muốn thử thêm passphrase khóa bằng cách chạy ssh-add từ dòng lệnh. Khi làm, bạn nhiều khả năng nhận lỗi "Could not open a connection to your authentication agent" cùng với thường không có text khác. Đây không phải lệnh hữu ích lắm, và một số user thấy họ mò mẫm lâu trước khi tìm ra câu trả lời vì nó không dẫn họ đến đúng đáp án.
Trước hết, mặc dù hơi cồng kềnh, hãy kiểm tra chắc chắn bạn kết nối Internet hoặc giao thức mạng nào bạn đang dùng vì có thể bạn chỉ đơn giản không kết nối mạng. Đặc biệt vấn đề khi bạn làm việc với thiết bị LAN không chuẩn mà bạn chỉ dùng ssh qua mạng riêng thay vì Ethernet hoặc Wi-Fi.
Miễn là bạn chắc chắn đã kết nối, thử dùng ssh-add ~/.ssh/id_rsa, thay tên file bằng tên file thực của khóa bạn cố thêm. Chúng ta thực sự đặt tên khóa trên máy test là ~/.ssh/id_rsa, là tên mẫu nhưng bạn có thể có tên khác. Bạn có thể nhận lời nhắc "Enter passphrase," im lặng như terminal ảo Linux. Nếu nó chấp nhận passphrase, bạn hoàn toàn ổn và không cần làm thêm.
Ngược lại, nếu lại gặp lỗi "Could not open a connection to your authentication agent", agent cần gán lại hoàn toàn. Nếu bạn dùng shell thường, chạy ssh-agent /bin/sh rồi ssh-add ~/.ssh/id_rsa, lại đảm bảo thay tên khóa. Bạn nên có lời nhắc lúc này. Những ai dùng pure bash và không ngại những gì cộng đồng Linux gọi là "bashisms" trong ssh client có thể chỉ dùng ssh-agent bash rồi dùng ssh-add. Hầu hết mọi người sẽ thấy cả root và user thường đều có bash trong path và không cần gì khác.
User fish-shell sẽ muốn thử ssh-agent /usr/bin/fish rồi ssh-add ~/.ssh/id_rsa. Trên đây hoạt động tốt cho những ai dùng Bourne, bash hoặc Almquist shells trong đa số trường hợp. Nếu mọi thứ hoạt động, bạn không cần làm thêm. Những ai dùng C-Shell hoặc tcsh có thể gặp vấn đề lúc này.
Nếu bạn ở tình huống này, thử eval 'ssh-agent -c' theo sau ssh-add ~/.ssh/id_rsa để đăng ký shell agent. Điều này vì tcsh làm hơi khác, dù hầu hết hệ thống nhúng không có nó. Trong mọi trường hợp, bạn nên có kết nối ssh hoạt động nếu gõ đúng. Nếu mắc lỗi, lặp lại lệnh vì không có lệnh nào gây hại.
Tùy cấu hình, bạn có thể phải làm điều này mỗi lần đăng nhập ssh sau restart. Dù sao, vấn đề dễ khắc phục bằng một lệnh đơn giản nên bạn không phải ngồi mò mẫm sau.
VỀ TÁC GIẢ

Kevin Arrows
Kevin Arrows là chuyên gia công nghệ giàu kinh nghiệm và kiến thức với hơn một thập kỷ kinh nghiệm trong ngành. Anh持有 chứng chỉ Microsoft Certified Technology Specialist (MCTS) và có đam mê sâu sắc về việc cập nhật các phát triển công nghệ mới nhất. Kevin đã viết nhiều về nhiều chủ đề liên quan đến công nghệ, thể hiện chuyên môn và kiến thức trong các lĩnh vực như phát triển phần mềm, an ninh mạng và điện toán đám mây. Đóng góp của anh cho lĩnh vực công nghệ đã được công nhận và tôn trọng rộng rãi bởi đồng nghiệp, và anh được đánh giá cao về khả năng giải thích các khái niệm kỹ thuật phức tạp một cách rõ ràng và súc tích.