Linux 서버에 SSH로 접속합니다. 새로운 운영 체제를 다시 설치하여 로컬 Linux 운영 체제를 업데이트해야 합니다. 예전거 저장 ~/.ssh
해서 다시 복사해놨어요 하지만 이제 서버에 SSH로 접속하려고 하면 다음과 같은 결과가 나타납니다.
Unable to negotiate with [server's IP] port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
이렇게 하면 ssh -Q key
결과에는 ssh-rsa
및 가 포함됩니다 ssh-dss
.
서버가 오래되었고 아마도 최신 상태가 아닐 가능성이 높지만 이에 대한 통제권은 없습니다.
편집: 와, 단순히 도움을 요청하기 위해 설계된 사이트에서 도움을 요청했다는 이유로 반대표를 받았습니다. 조금 놀랐다고 하면 거짓말이겠지요. 이것이 바로 내가 stackoverflow와 과도한 홀 모니터의 독성에 대한 긍정적인 해석을 결코 존중하거나 관심을 두지 않은 이유입니다.
답변1
시스템 전체 SSH 구성( /etc/ssh/ssh_config
)을 확인하십시오. 새 Linux 설치에는 이전 Linux 설치에 없는 내용이 있을 수 있습니다.
또한, sshd
일부 매우 오래된 구현은 새 SSH 클라이언트가 협상 가능한 많은 옵션을 제시할 때 혼란스러울 수 있습니다. 이전 서버가 새 클라이언트가 제공하는 모든 옵션에 대해 충분한 버퍼 공간을 할당하지 않았기 때문입니다.
노력하다 ssh -o HostKeyAlgorithms=ssh-rsa,ssh-dss username@old-host
. 이로 인해 다른 오류 메시지가 표시되면 협상 가능한 다른 옵션을 제한해야 할 수도 있습니다.