SSH가 리턴합니다. 일치하는 호스트 키 유형이 없습니다. 그들의 제안 : ssh-dss


81

클라이언트를 구성하지 않고 Windows 상자 또는 OSX 명령 행 터미널에서 Putty를 사용하여 NAS에 SSH하는 데 익숙합니다.

Ubuntu 16.04는 LAN을 통해 NAS에 SSH를 시도합니다.

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. 이 결과 / 응답이 의도적 인 것입니까?
  2. NAS에 대한 SSH 액세스를 가능하게하는 간단한 수정이 있습니까?

.pemWindows 컴퓨터에 SSH 개인 키 ( ) 파일이 없었습니까?
Android Dev

Windows 박스에 .pem 파일이 없습니다
gatorback

1
NAS가 Western Digital EX 시리즈가되지 않습니까? :)
Adam Plocher

그것은 MyCloud 장치입니다 : 희망 어떻게 든 명확히 있음
gatorback

답변:


139

16.04에 포함 된 OpenSSH 버전은 ssh-dss를 비활성화합니다. 이 문제를 포함하는 레거시 정보가 포함 된 깔끔한 페이지가 있습니다 : http://www.openssh.com/legacy.html

간단히 말해 -oHostKeyAlgorithms=+ssh-dssSSH 명령에 옵션 을 추가해야합니다 .

ssh -oHostKeyAlgorithms=+ssh-dss root@192.168.8.109

호스트 패턴을 추가하여 ~/.ssh/config매번 키 알고리즘을 지정할 필요가 없습니다.

Host nas
  HostName 192.168.8.109
  HostKeyAlgorithms=+ssh-dss

IP 주소를 입력 할 필요가 없다는 추가 이점이 있습니다. 대신 ssh호스트를 인식하고 nas연결할 위치를 알 수 있습니다. 물론 다른 이름을 대신 사용할 수 있습니다.


나는 이것이 우분투 측의 해결책이라고 생각합니다. NAS쪽에 간단한 옵션이 있습니까? 모든 옵션을 이해하고 보안 취약점을 강화할 수있는 기회를 포착하는 것이 좋습니다. 어쩌면 이것은 다른 스레드에 대한 또 다른 질문입니까? 아주 좋은 설명 \ 응답
gatorback

이것을 전 세계적으로 설정할 수 있습니까? 와일드 카드 IP처럼? 0.0.0.0이 작동하지 않음
podarok

2
@podarok 시도Host *
브라운

10

~ / .ssh / config 파일을 편집하는 것이 가장 좋습니다. 동일한 서브넷에 연결할 호스트가 여러 개인 경우 다음 방법을 사용하여 파일에 각 호스트를 입력하지 않아도됩니다.

 Host 192.168.8.*
  HostKeyAlgorithms=+ssh-dss

관리 할 Brocade 스위치가 많고 Ubuntu 16.04로 이동 한 후 호스트 키에 대해 불평하기 시작했을 때이 기능이 유용합니다.


6

최신 OpenSSH를 사용하여 더 이상 사용되지 않는 서버에 연결하려는 경우 :

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

무슨 일이 일어나고 있는지 보려면 -v를 추가하고 여전히 작동하지 않으면 -o HostKeyAlgorithms = ssh-dss를 추가하십시오.

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

물론 / etc / ssh / ssh_config 또는 ~ / .ssh / ssh_config를 편집하고 다음을 추가 할 수도 있습니다.

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 는 Mikrotik Routerboards에서 다음 수정 사항을 언급합니다.

/ip ssh set strong-crypto=yes

(이 답변은 유사한 오류 메시지를 찾을 때 웹 검색에서도 나타납니다.)


그것은 -o KexAlgorithms = diffie-hellman-group1-sha1 (14 아님)
이어야합니다

그것은 ... $ ssh -Q kex 서버 diffi-hellman-group1-sha1 diffi-hellman-group14-sha1 diffie-hellman-group-exchange-sha1 diffi-hellman-group-exchange-sha256 ecdh-sha2-nistp256 ecdh- sha2-nistp384 ecdh-sha2-nistp521 curve25519-sha256@libssh.org
Dagelf

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.