Trả về SSH: không tìm thấy loại khóa máy chủ phù hợp. Đề nghị của họ: ssh-dss


81

Tôi đã quen với việc sử dụng Putty trên hộp Windows hoặc thiết bị đầu cuối dòng lệnh OSX để SSH vào NAS mà không có bất kỳ cấu hình nào của máy khách.

Ubuntu 16.04 cố gắng SSH vào NAS (thông qua mạng LAN):

ssh root@192.168.8.109

Unable to negotiate with 192.168.8.109 port 22: no matching host key type found. Their offer: ssh-dss
  1. Là kết quả / phản ứng có chủ ý?
  2. Có một chỉnh sửa đơn giản nào cho phép SSH truy cập vào NAS không?

Bạn đã không có bất kỳ .pemtệp tin riêng tư SSH ( ) nào trên máy Windows của mình, phải không?
Android Dev

Không có tệp .pem trên hộp Windows
gatorback

1
NAS của bạn sẽ không phải là một loạt EX kỹ thuật số phương Tây phải không? :)
Adam Plocher

Đây là một thiết bị MyCloud: hy vọng rằng bằng cách nào đó làm rõ
gatorback

Câu trả lời:


139

Phiên bản OpenSSH có trong 16.04 vô hiệu hóa ssh-dss. Có một trang gọn gàng với thông tin kế thừa bao gồm vấn đề này: http://www.openssh.com/legacy.html

Tóm lại, bạn nên thêm tùy chọn -oHostKeyAlgorithms=+ssh-dssvào lệnh SSH:

ssh -oHostKeyAlgorithms=+ssh-dss root@192.168.8.109

Bạn cũng có thể thêm một mẫu máy chủ lưu trữ ~/.ssh/configđể không phải chỉ định thuật toán chính mỗi lần:

Host nas
  HostName 192.168.8.109
  HostKeyAlgorithms=+ssh-dss

Điều này có thêm lợi ích mà bạn không cần phải nhập địa chỉ IP. Thay vào đó, sshsẽ nhận ra máy chủ nasvà biết nơi kết nối. Tất nhiên bạn có thể sử dụng bất kỳ tên nào khác thay cho nó.


Tôi tin rằng đây là những giải pháp về phía Ubuntu. Có một lựa chọn đơn giản về phía NAS? Sẽ thật tốt khi hiểu tất cả các tùy chọn và nắm bắt cơ hội để làm cứng bất kỳ điểm yếu bảo mật nào. Có lẽ đây là một câu hỏi cho một chủ đề khác? Giải thích rất hay \ phản hồi
gatorback

Có thể thiết lập này trên toàn cầu? LIke IP ký tự đại diện? 0.0.0.0 không hoạt động
podarok

2
@podarok, hãy thửHost *
brownian

10

Chỉnh sửa tệp ~ / .ssh / config là tùy chọn tốt nhất. Nếu bạn có một số máy chủ để kết nối trên cùng một mạng con, bạn có thể sử dụng phương pháp sau để tránh nhập từng máy chủ trong tệp:

 Host 192.168.8.*
  HostKeyAlgorithms=+ssh-dss

Điều này rất tốt cho tôi khi tôi có một số công tắc thổ cẩm để quản lý và họ bắt đầu phàn nàn về khóa Máy chủ sau khi tôi chuyển sang Ubuntu 16.04.


6

Nếu bạn muốn sử dụng OpenSSH mới hơn để kết nối với các máy chủ không dùng nữa:

ssh -o KexAlgorithms=diffie-hellman-group14-sha1 -oHostKeyAlgorithms=+ssh-dss my.host.com

Thêm -v nếu bạn muốn xem những gì đang xảy ra và -o HostKeyAlacticms = ssh-dss nếu nó vẫn không hoạt động:

ssh -v -o HostKeyAlgorithms=ssh-dss -o KexAlgorithms=diffie-hellman-group14-sha1 my.host.com

Tất nhiên, bạn cũng có thể chỉnh sửa / etc / ssh / ssh_config hoặc ~ / .ssh / ssh_config và thêm:

Host my.host.com *.myinsecure.net 192.168.1.* 192.168.2.*
    HostKeyAlgorithms ssh-dss
    KexAlgorithms diffie-hellman-group1-sha1    

https://forum.ctwug.za.net/t/fyi-openssh-to-access-rbs-openssh-7/6069 đề cập đến cách khắc phục sau đây trên Bảng định tuyến Mikrotik:

/ip ssh set strong-crypto=yes

(Lưu ý điều này ở đây vì câu trả lời này cũng xuất hiện trên các tìm kiếm trên web khi tìm kiếm một thông báo lỗi tương tự.)


nó phải là -o KexAlacticms = diffie-hellman-group1-sha1 (không phải 14)
dalf

Điều đó phụ thuộc ... ... sha2-nistp384 ecdh-sha2-nistp521 đường cong25519-sha256@libssh.org
Dagelf

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.