![새 SSH 키 쌍을 구문 분석할 수 없습니다.](https://linux55.com/image/212664/%EC%83%88%20SSH%20%ED%82%A4%20%EC%8C%8D%EC%9D%84%20%EA%B5%AC%EB%AC%B8%20%EB%B6%84%EC%84%9D%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
~/.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가 원격 호스트에 대한 인증 프로세스를 시작합니다.