ssh
Debian이 설치된 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
명령이 제대로 작동합니다.