diffie-hellman-group1-sha1로 인해 Cisco 장치에 대한 SSH 실패

diffie-hellman-group1-sha1로 인해 Cisco 장치에 대한 SSH 실패

내 Debian 컴퓨터에서 SSH를 통해 Cisco 라우터에 연결하려고 하면 다음 메시지가 나타납니다:

Unable to negotiate with 192.168.1.1 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1

이 포럼에는 답변이 있다고 주장하는 유사한 질문이 있지만 미묘한 차이로 인해 저에게 적합하지 않다는 것을 알았으므로 여기에 질문과 답변을 게시하기로 결정했습니다.

답변1

연결하려는 모든 호스트에 대해 시스템 전체에서 이 기능을 완전히 활성화하려면 /etc/ssh/ssh_config에 다음을 추가하십시오.

Host *
    KexAlgorithms +diffie-hellman-group-exchange-sha1

자신의 계정에 대해서만 활성화하려면 ~/.ssh/config에 다음을 추가하세요.

Host *
    KexAlgorithms +diffie-hellman-group-exchange-sha1

특정 호스트에 대해 이 기능을 활성화하려면 위 파일 중 하나를 편집하고 다음을 추가하세요.

Host 192.168.1.1
    KexAlgorithms +diffie-hellman-group-exchange-sha1

호스트 그룹 및/또는 사용자 그룹에 대해 이 기능을 활성화하려면,읽어봐.

답변2

이 시도

{
echo -n 'Ciphers '
ssh -Q cipher | tr '\n' ',' | sed -e 's/,$//'; echo

echo -n 'MACs '
ssh -Q mac | tr '\n' ',' | sed -e 's/,$//'; echo

echo -n 'HostKeyAlgorithms '
ssh -Q key | tr '\n' ',' | sed -e 's/,$//'; echo

echo -n 'KexAlgorithms '
ssh -Q kex | tr '\n' ',' | sed -e 's/,$//'; echo

} >> ~/.ssh/config

답변3

"diffie-hellman-group-exchange-sha1" 문제를 해결한 후 다음 오류는 다음과 같을 것 같습니다.

"일치하는 호스트 키 유형을 찾을 수 없습니다. 인용문: ssh-rsa"

따라서 완전한 해결책은 이것을 ~/.ssh/config 파일(기본 구성이 아님)에 추가하는 것입니다.

Host x.x.x.x
    KexAlgorithms +diffie-hellman-group1-sha1
    Ciphers aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
    User root
    PubkeyAcceptedAlgorithms +ssh-rsa
    HostkeyAlgorithms +ssh-rsa

호스트 주소와 사용자 이름을 귀하의 것으로 바꾸십시오.

답변4

SSH 버전 2용 Cisco 라우터 및 Linux SSH 클라이언트 구성

A. Cisco 라우터에서:

  1. ~할 수 있게 하다
  2. 터미널 구성
  3. CPU 이름
  4. IP 도메인 이름
  5. 암호화 키는 rsa를 0으로 만듭니다(선택적으로 이전 콘텐츠 삭제).
  6. 암호화 키 생성 rsa(키 크기 2048)
  7. IP SSH 시간 초과 초 30
  8. ip ssh 인증 재시도 3
  9. ip ssh 버전 2(1은 더 이상 사용되지 않으며 openssl에서 지원되지 않음)
  10. 출구

B. 클라이언트(Linux)에서 연결합니다.

  1. /etc/ssh/ssh_config 편집
  1. 호스트(라우터의 URL, 호스트 이름 또는 IP*)
  2. Kex 알고리즘 diffie-hellman-group1-sha1
  3. 비밀번호 3des-cbc, aes192-cbc, aes256-cbc
  • 참고 - 위의 호스트는 ssh 명령의 호스트 부분으로 사용되는 것과 일치해야 하며 인용된 각 입력에 대해 하나씩 빌드해야 합니다.
  1. 클라이언트 연결 구문:

SSH 예: ssh -p 22 user@hostname

구형 Cisco 장비는 포트 22에서 SSH만 지원합니다. 특히 Catalyst 유형 및 시대 스위치와 같은 구형 장비도 SSH를 전혀 지원하지 않습니다.

관련 정보