~/.ssh/known_hosts를 삭제한 후에도 "호스트 키 확인에 실패했습니다"

~/.ssh/known_hosts를 삭제한 후에도 "호스트 키 확인에 실패했습니다"

sshDebian이 설치된 Linux 시스템에서 내 서버에 액세스하려고 하면 다음과 같은 메시지가 나타납니다.

Host key verification failed.

제가 온라인에서 찾은 유일한 도움은 키를 삭제하는 것이었습니다 ~/.ssh/known_hosts. 음, 그렇게 했을 뿐만 아니라 ~/.ssh확인하기 위해 전체 키를 삭제했는데, 그것도 도움이 되지 않았고 여전히 Host key verification failed.오류가 있습니다.

답변1

알았어, 대답했어.

ssh옵션을 실행 하면 -v실제 오류가 표시됩니다.

이는 실수로 잘못된 액세스 권한(무엇이든)을 설정했기 때문에 /dev/tty발생하며 ssh는 어떤 이유로든 이를 좋아하지 않습니다. sudo chmod 666 /dev/tty해결한 것 같습니다.

답변2

그러면 원본 포스터의 문제가 해결되었습니다. 그러나 다른 사람이 검색을 통해 이 문제를 발견하고 해당 증상이 동일한 원인에서 발생하지 않는 경우:

문제가 있는 줄을 제거 ~/.ssh/known_hosts하거나 삭제하면 캐시된 호스트 키가 지워집니다. 그러나 호스트 키는 특별히 요청하지 않는 한 캐시되지 않는 시스템 전체 캐시도 있습니다 /etc/ssh/ssh_known_hosts. 하지만 호스트 키 확인에 문제가 있다면 이 두 파일을 살펴보세요.

답변3

이 문제는 특히 여러 SSH 구현이 연결된 Windows를 처리할 때 다양한 다른 방식으로 발생할 수도 있습니다.

Cygwin에서 SSH 서버를 실행하는 Windows 10 시스템에 SSH로 접속할 때 이 문제가 발생했습니다. 이 프롬프트에서 실행 하면 ssh~/.ssh를 사용하여 ssh 파일을 cygwin(/home/username)에 저장하는 cygwin 버전의 ssh가 실행됩니다.

그러나 git동일한 프롬프트에서 실행하고 Git이 Windows를 통해 설치된 경우(내 경우에는) C:\Users\username.ssh에 있는 ssh 파일을 사용합니다.

일반적으로 캐시된 git의 호스트 키를 실행 ssh hostname하지만 이 경우에는 알려진_hosts 파일이 다르기 때문에 작동하지 않습니다.

하나의 Known_hosts 파일에서 다른 파일로 키를 복사하면 git명령이 제대로 작동합니다.

관련 정보