>  Q&A  >  본문

원격 저장소에 연결할 때 Git 오류: "호스트 키 확인 실패"

<p>내 웹 서버에 있는 원격 Git 저장소에 연결하고 이를 내 컴퓨터에 복제하려고 합니다. </p> <p>내 명령은 다음 형식을 사용합니다: </p> <pre class="brush:php;toolbar:false;">git clone ssh://username@domain.example/repository.git</pre> <p>이 방법은 대부분의 팀원에게 효과적입니다. 일반적으로 이 명령을 실행한 후 Git은 사용자 비밀번호를 묻는 메시지를 표시한 다음 복제를 실행합니다. 그러나 내 컴퓨터 중 하나에서 실행할 때 다음 오류가 발생합니다. </p> <인용문> <p>호스트 키 확인에 실패했습니다. </p> <p>치명적: 원격에서 읽을 수 없습니다. 저장소. </p> </인용문> <p>우리는 이 저장소에 연결하기 위해 SSH 키를 사용하지 않기 때문에 Git이 이 특정 시스템에서 키를 확인하는 이유를 잘 모르겠습니다. </p>
P粉668113768P粉668113768439일 전649

모든 응답(2)나는 대답할 것이다

  • P粉926174288
  • P粉312631645

    P粉3126316452023-08-28 11:08:39

    복제 URL의 ssh:// 접두사가 표시된 대로 SSH 프로토콜을 통해 연결하고 있습니다. SSH를 사용하면 각 호스트에 키가 있습니다. 클라이언트는 특정 주소와 연관된 호스트 키를 기억하고 있으며, 호스트 키가 변경되면 연결을 거부합니다. 이를 통해 중간자 공격을 방지할 수 있습니다.

    domain.example 的主机密钥已更改。 如果您觉得这不可疑,请通过编辑 ${HOME}/.ssh/known_hosts 删除 行,从本地缓存中删除旧密钥domain.example 아니면 SSH 유틸리티를 사용하세요

    으아악

    여기에서 업데이트된 키를 직접 녹음할 수 있습니다

    으아악

    또는 마찬가지로 ssh 在您下次使用 git fetchgit pullgit 连接时为您完成此操作推送(甚至是普通的ssh domain.example) 메시지가 표시되면 "예"라고 대답하세요

    으아악

    이 메시지가 나타나는 이유는 domain.example 删除后不再位于您的 known_hosts 中,并且可能不在系统的 /etc/ssh/ssh_known_hosts 中,因此ssh无法知道连接另一端的主机是否真的是domain.example。 (如果 /etc의 키가 잘못되었기 때문입니다. 그러면 관리 권한이 있는 사람이 시스템 전체 파일을 업데이트해야 합니다. )

    사용자가 키를 사용하여 인증하도록 하는 것도 고려해 볼 것을 적극 권장합니다. 이렇게 하면 ssh-agent 모든 사람이 서버에 연결할 때마다 비밀번호를 입력하지 않고 편의를 위해 키 자료를 저장할 수 있으며 비밀번호는 네트워크를 통해 전송되지 않습니다.

    회신하다
    0
  • 취소회신하다