새 SSH 키 쌍을 구문 분석할 수 없습니다.

새 SSH 키 쌍을 구문 분석할 수 없습니다.

~/.ssh/ 폴더 아래의 전체 Know_hosts 및 구성과 공개 및 개인 키를 삭제했습니다. 또한 github의 모든 공개 키를 삭제했습니다. 그런 다음 새로운 ed25519 키 쌍을 생성했습니다. Wenn 새로 생성된 ed25519 공개 키를 github에 추가하고 github에 연결을 시도했습니다.

The authenticity of host can't be established.
ECDSA key fingerprint is SHA256:h41sMp7TPyRt9NnlOcuOt41O+rAgV1FsJzc/+Iy1yyY.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Host key verification failed

생성된 키의 SHA256 지문이 ECDSA 키 지문과 일치하지 않는 것으로 나타났습니다. ECDSA 키 지문이 이전에 사용한 지문이라고 가정합니다. 그러나 전체 SSH 폴더에는 ed25519 키 쌍만 포함됩니다. 무엇이 문제일까요?

답변1

이것은 실제로는 아닙니다질문따라서 known_hosts파일을 삭제한 이후 Github에 대한 이전 연결에 대한 SSH 클라이언트의 메모리는 사라지고 이제는 Github에 처음 연결된 것처럼 작동합니다. 따라서 known_hosts소위 "Github"이 사기꾼이 아닌 이전과 동일한 서버인지 확인하기 위해 Github에 저장된 호스트 키를 자동으로 사용할 수 없습니다 . 지문은 원격 호스트의 지문입니다.SSH 호스트 키이는 로컬에서 수행하는 작업의 영향을 받지 않습니다.

이제 가짜가 아닌 실제 Github에 연결되어 있는지 확인하려면 지문을 직접 확인하고 yes질문에 답하거나 다른 소스(예: Github에서 얻은 지문)를 복사하여 붙여넣으면 됩니다.GitHub.com의 이 페이지).

지문이 성공적으로 확인되면(또는 단순히 yes신뢰 여부를 선택하면) 실제 원격 호스트의 공개 키가 파일에 저장되며 known_hosts다음 연결 시 자동으로 다시 확인이 수행됩니다.

그런데 당신이 본 지문이실제로 일치하지 않습니다 GitHub.com용 SSH 공개 호스트 키 지문. 자신의 비공개 GitHub 인스턴스에 연결하거나 실제 GitHub.com 사이에 중개자가 있습니다.

ed25519 키 쌍을 사용한 인증이 아직 시작되지 않았습니다. 먼저 원격 호스트 키를 확인하여 원격 호스트가 알려져 있는지 확인하고(알려진 경우 원격 호스트의 신원을 확인하는 데 사용됨) 성공적으로 완료한 후에만(또는 사용자가 명시적으로 선택) 원격 호스트 신뢰) 그러면 SSH가 원격 호스트에 대한 인증 프로세스를 시작합니다.

관련 정보