원격 저장소에 연결할 때 Git 오류: "호스트 키 확인 실패"
P粉668113768
2023-08-27 12:34:09
<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>
이전 git 저장소 복제에서 했던 것처럼 오류가 발생했습니다. 호스트 키 확인에 실패했습니다. 치명적: 원격 끝이 예기치 않게 끊겼습니다 , 알려진 호스트 목록에 GitHub를 추가했습니다:
으아악복제 URL의
ssh://
접두사가 표시된 대로 SSH 프로토콜을 통해 연결하고 있습니다. SSH를 사용하면 각 호스트에 키가 있습니다. 클라이언트는 특정 주소와 연관된 호스트 키를 기억하고 있으며, 호스트 키가 변경되면 연결을 거부합니다. 이를 통해 중간자 공격을 방지할 수 있습니다.
으아악domain.example
的主机密钥已更改。 如果您觉得这不可疑,请通过编辑${HOME}/.ssh/known_hosts
删除行,从本地缓存中删除旧密钥domain.example
아니면 SSH 유틸리티를 사용하세요여기에서 업데이트된 키를 직접 녹음할 수 있습니다
으아악또는 마찬가지로
으아악ssh
在您下次使用git fetch
、git pull
或git 连接时为您完成此操作推送
(甚至是普通的ssh domain.example
) 메시지가 표시되면 "예"라고 대답하세요이 메시지가 나타나는 이유는
domain.example
删除后不再位于您的known_hosts
中,并且可能不在系统的/etc/ssh/ssh_known_hosts 中
,因此ssh
无法知道连接另一端的主机是否真的是domain.example
。 (如果/etc
의 키가 잘못되었기 때문입니다. 그러면 관리 권한이 있는 사람이 시스템 전체 파일을 업데이트해야 합니다. )사용자가 키를 사용하여 인증하도록 하는 것도 고려해 볼 것을 적극 권장합니다. 이렇게 하면
ssh-agent
모든 사람이 서버에 연결할 때마다 비밀번호를 입력하지 않고 편의를 위해 키 자료를 저장할 수 있으며 비밀번호는 네트워크를 통해 전송되지 않습니다.