Cần thêm cấu hình để chuyển tiếp ssh-agent?


20

Hướng dẫn này thực hiện một công việc tuyệt vời giải thích cách ssh-agent hoạt động trên nhiều hệ thống. Tôi muốn nhận chuyển tiếp được thiết lập như trong bộ sơ đồ cuối cùng, nhưng tôi gặp khó khăn khi theo dõi các bước cần thiết để làm như vậy.

Đối với một số máy trên mạng của tôi, tôi có thể ssh từ A đến B, rồi B ​​đến C mà không cần nhập mật khẩu chứng chỉ. Tuy nhiên, các máy khác đưa ra "Không thể mở kết nối đến tác nhân xác thực của bạn" (đôi khi!), Sau đó sẽ không chuyển tiếp thông tin xác thực của tôi. SSH từ một trong các máy này sang một hộp khác trên mạng nhắc lại mật khẩu khóa riêng của tôi.

Tôi đã không xây dựng những máy này, nhưng tôi có thể quản lý một số trong số họ. Tôi không biết chắc chắn sự khác biệt giữa boxen hoạt động và những thứ không - có thể là vấn đề tường lửa, cấu hình ssh / ssh-agent / sshd, bất cứ điều gì và tôi không thấy bất kỳ bước nào- hướng dẫn từng bước cụ thể để chuyển tiếp nổi trên mạng '. Tôi chỉ cần biết nơi để bắt đầu theo đuổi vấn đề này.

Câu trả lời:


23

Chuyển tiếp tác nhân Ssh phải được cho phép trên máy khách ( ForwardAgenttùy chọn trong ~/.ssh/config) và trên máy chủ ( AllowAgentForwardingtùy chọn trong sshd_config). Có thể máy của bạn có các cài đặt mặc định khác nhau cho một hoặc cả hai tùy chọn này.

Nếu bạn đang đi A-> B-> C, việc chuyển tiếp là không cần thiết ở bước B-> C (trừ khi bạn sẽ đi C-> D tất nhiên).

Khi bạn đăng nhập vào B, hãy kiểm tra xem biến môi trường có SSH_AUTH_SOCKđược xác định không. Giá trị của nó là làm thế nào để sshbiết làm thế nào để liên hệ với các đại lý.

Không có lý do chính đáng nào để cấm chuyển tiếp tác nhân trong máy chủ, vì việc chuyển tiếp đại lý làm cho máy khách dễ bị tổn thương với máy chủ chứ không phải ngược lại, và về nguyên tắc bạn có thể thiết lập chuyển tiếp đại lý theo cách thủ công (mặc dù sẽ không có nhiều điểm vì khó khăn trong việc thiết lập nó sẽ đánh bại điểm thuận tiện của việc chuyển tiếp đại lý).


Tin tốt: cảm ơn bạn đã chỉ cho tôi chìa khóa bên phải để tìm kiếm! Tin xấu: Rõ ràng đây là một lỗi đã biết trong máy chủ openssh. Đôi khi nó dường như đã được sửa, nhưng tôi không nghĩ rằng tôi đang chạy phiên bản đủ hiện tại - Tôi nhận được "Tùy chọn cấu hình xấu: AllowAgentForwarding" khi tôi cố gắng kích hoạt nó. Có vẻ như đã tắt để cập nhật phần mềm tải của tôi (một lần nữa ...)
Bộ giải mã

1
@Coderer: Vì chuyển tiếp đại lý mặc định trên, nên nó đủ để xóa bất kỳ AllowAgentForwardingdòng nào khỏi sshd_config.
Gilles

@Gilles Nếu ai đó muốn thiết lập thủ công chuyển tiếp đại lý cho một phiên hiện có, họ sẽ thực hiện việc đó như thế nào? Đây là một nhu cầu thực sự với việc cung cấp các tập lệnh được sử dụng với các máy phù du như AMI đi kèm với AllowAgentForwardingvô hiệu hóa.
Andrew De Andrade

@AndrewDeAndrade Đối với một phiên hiện có, bạn đã cắt bỏ công việc của mình. Nếu bạn có nghĩa là thiết lập chuyển tiếp tác nhân ngay cả khi nó bị vô hiệu hóa trên máy chủ, bạn cần chuyển tiếp một ổ cắm unix qua TCP; điều này nên được thực hiện với netcat hoặc socat ở cả hai bên.
Gilles

@Gilles Đó là kết luận tôi cũng đến. Tôi phát hiện ra rằng bạn cũng có thể sử dụng spiped, an toàn hơn nhưng yêu cầu trao đổi khóa đối xứng, nhưng sau đó đơn giản hơn.
Andrew De Andrade

14

Mặc dù bạn đã có câu trả lời đúng bởi @Gilles ở trên, tôi muốn chỉ ra rằng điều đó AllowAgentForwardingchỉ được hỗ trợ trong OpenSSH 5.1 trở đi.

Các máy chủ OpenSSH trước 5.1, từ những gì tôi đã thấy trong hộp RHEL 4u5 của mình, cho phép chuyển tiếp đại lý theo mặc định. Vì vậy, nếu máy chủ của bạn cũ hơn 5.1 và chuyển tiếp tác nhân không hoạt động, vấn đề có thể xảy ra ở máy khách ssh. Vì chuyển tiếp dường như đang làm việc cho một số máy cho bạn, có vẻ như đó /etc/ssh/ssh_configlà thiết lập tốt. Kiểm tra ~/.ssh/configxem nếu có bất kỳ ngoại lệ nào được thực hiện để vô hiệu hóa chuyển tiếp tác nhân cho các hộp bị ảnh hưởng.

Tham chiếu: http://www.openssh.org/txt/release-5.1


chào Sandip, bạn có ý tưởng gì về điều này không? superuser.com/questions/958978/
trộm
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.