“호스트 키 확인에 실패했습니다…”오류가있는 SSH 연결 문제 SSH를 통해 LAN의

SSH를 통해 LAN의 다른 Ubuntu 시스템에 연결할 수 있습니다. 두 PC 모두에서 openssh-server를 설치
했지만 다른 Ubuntu 컴퓨터에서 SSH를 통해 PC에 연결할 수 없으며이 오류가 발생했습니다.

호스트 키 확인에 실패했습니다 …



답변

“호스트 키 확인 실패” 는 원격 호스트 의 호스트 키가 변경 되었음을 의미합니다 .

SSH는 원격 호스트의 호스트 키를에 저장합니다 ~/.ssh/known_hosts. 해당 텍스트 파일을 수동으로 편집하고 이전 키를 제거하거나 (오류 메시지에 줄 번호가 표시됨)

ssh-keygen -R hostname

에서 man 페이지 :

-R hostname
known_hosts 파일에서 호스트 이름에 속하는 모든 키를 제거합니다. 이 옵션은 해시 된 호스트를 삭제하는 데 유용합니다.

(나는 SSH의 known_hosts 파일에서 특정 호스트 키를 제거 할 수 있습니까? )에 대한 답변에서 배웠습니다
.


답변

prompt-to-add-hostkey에 대화식으로 액세스 할 수없는 특정 원격 / 스크립팅 상황에서 실행중인 경우 다음과 같이 해결하십시오.

$ ssh -o StrictHostKeyChecking=no user@something.example.com uptime

경고 : 알려진 호스트 목록에 ‘something.example.com, 10.11.12.13′(RSA)을 영구적으로 추가했습니다.


답변

또한 직렬 콘솔에서 작업 할 때 상황이있는 경우 상세 모드에서 위 명령을 확인 -v하면 /dev/tty존재하지 않는 것으로 표시됩니다 .

ssh -v user@hostname

위의 경우 바로 제거 /dev/tty와의 심볼릭 링크 생성 /dev/ttyS0에를 /dev/tty.

rm /dev/tty
ln -s /dev/ttyS0 /dev/tty

다른 방법으로, id_rsa.pub원격 위치에 추가 하면 암호가 프롬프트되지 않고 로그인 액세스가 가능합니다.


답변

필자의 경우 이것은 udev 문제로 인한 것 /dev/tty입니다. 장치 노드 가 없었습니다 . 나를위한 해결책은 다음과 같습니다.

sudo mknod -m 666 /dev/tty c 5 0


답변

터미널에서 :

ssh -o StrictHostKeyChecking=no -i YourPublicKey.pem user@example.com uptime

다음과 같은 메시지가 나타납니다.

Warning: Permanently added 'example.com, XX.XXX.XXX.XX' (ECDSA) to the list of known hosts.
 00:47:37 up 3 min,  0 users,  load average: 0.00, 0.00, 0.00

그런 다음 평소와 같이 EC2에 연결하십시오.

ssh -i YourPublickey.pem user@example.com


답변

두 번째 우분투는 암호가 아닌 키로 연결해야하기 때문입니다.

sudo dpkg-reconfigure openssh-serverPC에서 사용 하는 것이 좋습니다 . 그러면 제대로 작동합니다. openssh의 구성을 재설정하고 기본 비밀번호 인증으로 돌아와야합니다.

두 번째 가능성은 PC에 다른 우분투의 키가 이미 있으며 더 이상 인식되지 않는 것입니다. 이 경우 파일 .ssh/authorized_keys을 편집 하여 우분투를 식별하는 문제가있는 줄을 제거해야합니다.


답변

이것은 오래된 스레드이며 방금이 답변을 가로 질러 나갔습니다.이 문제를 해결하기 위해 수행 한 작업을 추가 할 것입니다.

ssh-keygen -f "/home/USER/.ssh/known_hosts" -R HOSTNAME

방금 나에게 던진 오류 메시지를보고 호스트 목록에서 제거하기 위해 해당 명령을 실행한다고 말했습니다. 그 후 나는 다음을 수행했다.

ssh-copy-id HOSTNAME

내가 서버에 ssh 할 수있을 때까지 거기에서 프롬프트를 따랐던 것보다.