Computer >> Máy Tính >  >> Xử lý sự cố >> Linux

Đã sửa lỗi:Không tìm thấy phương thức trao đổi khóa phù hợp

Khi bạn đang cố gắng sử dụng ssh để liên lạc với máy chủ từ xa, bạn có thể nhận được lỗi đọc không tìm thấy phương thức trao đổi khóa phù hợp trước khi đưa ra đề xuất về thuật toán mã hóa bạn muốn sử dụng. Bạn sẽ không thể kết nối với máy chủ từ xa bất cứ khi nào bạn gặp lỗi. Quá trình này có thể thực sự khó chịu, nhưng lỗi phổ biến đến mức bạn thường thấy các loại Unix nói về cách họ đang trải qua nó và đưa ra lời khuyên tương tự để thoát ra khỏi rừng.

Các phương pháp sửa lỗi sau đây đã được thử nghiệm trên mọi thứ mà ssh hoạt động, nhưng rất có thể bạn sẽ tìm thấy sự cố này trên các hệ thống Unix và Linux. Bạn có thể sử dụng cùng một quy trình để sửa lỗi nếu bạn đang chạy ssh trên Windows hoặc một cái gì đó lạ, nhưng bạn có thể thấy rằng các tùy chọn chuyển đổi hơi khác một chút.

Phương pháp 1:Liên hệ lại với máy chủ và tạo lại khóa

Trước khi bạn làm bất cứ điều gì khác, hãy đảm bảo rằng bạn có thể tái tạo lỗi. Đôi khi thông báo lỗi này chỉ là do có một số dịch vụ từ xa hiện không chạy, dịch vụ này có thể đã được sửa trong thời gian chờ đợi. Mặc dù chúng tôi đang chạy ssh trong một máy ảo cho phép kết nối với địa chỉ máy chủ không có thật được đặt thành example.org được tài liệu chấp thuận, nhưng bạn sẽ muốn thay thế một địa chỉ mạng thực.

Đã sửa lỗi:Không tìm thấy phương thức trao đổi khóa phù hợp

Nếu bạn vẫn nhận được, hãy thử tạo lại khóa bằng ssh-keygen -A từ dấu nhắc lệnh. Thao tác này sẽ làm mới bộ đệm mà ứng dụng ssh sử dụng để kết nối với máy chủ từ xa. Ngoài ra, bạn có thể muốn thử khởi động lại ssh bằng cách chạy khởi động lại ssh dịch vụ và dành cho nó một chút thời gian.

Nếu bạn vẫn gặp sự cố, thì điều đó có nghĩa là máy chủ và máy khách không bao giờ có thể đạt được giao thức phù hợp để sử dụng. OpenSSH triển khai một loạt các giao thức khác nhau một cách chóng mặt, nhưng nó vô hiệu hóa một số giao thức này vì chúng hiện được cho là đã bị xâm nhập và do đó không an toàn. Bạn sẽ muốn cập nhật tất cả các gói ssh ở cuối phương trình, vì vậy hãy đảm bảo rằng quản trị viên hệ thống biết những gì đang xảy ra. Nếu đó là máy chủ của riêng bạn, thì hãy dành một chút thời gian để cập nhật chúng.

Nếu đây không phải là một tùy chọn và bạn nhận ra sự nguy hiểm của việc sử dụng một thuật toán bị xâm phạm, thì có một cách phía máy khách để bỏ qua thông báo lỗi này.

Phương pháp 2:Bật tùy chọn kế thừa trong OpenSSH

Hãy xem thông báo lỗi đọc sau những từ Lời đề nghị của họ:để xem máy chủ từ xa thích thuật toán nào hơn. Mặc dù hầu hết các hệ thống nên sử dụng openssh7, công nghệ này đã vô hiệu hóa công nghệ diffie-hellman-group1-sha1 cũ đã lỗi thời hơn, nhưng bạn sẽ được yêu cầu sử dụng sha1 nếu chúng vẫn gặp sự cố trên openssh6 hoặc thứ gì đó tương tự.

Chạy ssh -oKexAlgorithm =+ diffie-hellman-group1-sha1 testhost@example.org với bất kỳ máy chủ lưu trữ mạng hoặc địa chỉ IP thực của máy chủ từ xa là gì để khắc phục sự cố này ở phía máy khách. Nếu điều này khắc phục được sự cố, thì nó đang tìm một giao thức dựa trên sha1 cũ hơn để kết nối. Giải pháp dựa trên sha1 cũ hơn này đã bị vô hiệu hóa vì một lý do chính đáng, nhưng bạn có thể bỏ qua nó vĩnh viễn hơn bằng cách sử dụng trình chỉnh sửa nano hoặc vim để mở tệp ~ / .ssh / config và thêm các dòng:

Máy chủ example.org

KexAlgorithm + diffie-hellman-group1-sha1

Hãy nhớ rằng bạn sẽ muốn đảm bảo rằng dấu cộng ở đó vì điều đó có nghĩa là ssh sẽ thêm vào thay vì thay thế các giá trị mặc định an toàn hơn. Khi máy chủ cập nhật các gói, bạn sẽ sử dụng các giao thức an toàn hơn trong hầu hết các trường hợp.

Nếu bạn gặp lỗi trước đó đề cập đến giao thức ssh-dss thay vì phiên bản sha1, thì thay vào đó, bạn có thể thử lệnh này, theo sau là tên máy chủ của bạn: ssh -oHostKeyAlgorithm =+ ssh-dss , nếu nó hoạt động, bạn sẽ cần chỉnh sửa lại tệp ~ / .ssh / config. Sau dòng Máy chủ, hãy thêm một tab và các mục sau:

HostKeyAlgorithm + ssh-dss

Hãy nhớ rằng cũng giống như hệ thống sha1, khóa ssh-dss đã không được chấp nhận vì các vấn đề bảo mật cực kỳ hợp lý liên quan đến nó. Sử dụng điều này có thể tạo ra các lỗ hổng trong kết nối của bạn, vì vậy nó chỉ nên được xem như một bản sửa lỗi tạm thời nếu thậm chí là như vậy. Đảm bảo cập nhật máy chủ càng sớm càng tốt.