ssh-keygen -f "~/.ssh/known_hosts" -R "hostname or ip"가 작동하지 않는 이유는 무엇입니까? [복사]

ssh-keygen -f "~/.ssh/known_hosts" -R "hostname or ip"가 작동하지 않는 이유는 무엇입니까? [복사]

이 명령을 입력하면 다음 메시지가 나타납니다.

line 1 invalid key: -----BEGIN ...
~/.ssh/known_hosts is not a valid known hosts file.
Not replacing existing known_hosts file because of errors

답변1

다음 줄은 알려진 호스트가 아닌 항목이 Known_hosts 파일에 있음을 나타냅니다.

line 1 invalid key: -----BEGIN

이로 인해 SSH 키가 실수로 ~/.ssh/id_rsa 대신 ~/.ssh/known_hosts에 기록된 것처럼 보입니다.

편집기에서 엽니다. 알려진 호스트 항목은 다음과 같습니다.

192.168.1.1 ssh-rsa RzF4THZKZjc4S1VDRkdIVFZGYkg2dHJoWllDZkx4cmJib0RhY1F3SzczQWc3R2JHcFlpUjdvVE9Ia014RDlqMWOR2FseXdqVmlOeHJXcnZ4NUhVcGRhYzJ0R1VPaVRNNWlPbHZReFdEZ2dEd3RiR2g1cHZ1SFVwb1Y1WUx2VzFDVEJLcE4wOWJNdmluRTFMU2hlR1lU

SSH 키는 다음과 같습니다.

-----BEGIN RSA PRIVATE KEY-----
VXhTNTdlUExWVHdjVEJnSE1xZmlHak5uRGw5dVVyWEhMOHEzd2ZvVHFKWG02ZHc4cnJZY2J0UUdE
R1VhQnJHUDl5NGpVTXJRRnIzZ1BFVzdYM2hMd0k0cHpXclRuRzB1anEzdGlPTW9RSjBUZWJaNEFy
OG1xb3d6WDlwWDNQV21ZYTdKZmduODYyc0NQaDlXQ2ZkZllyVzE4eEdjaDRHNmRobWFKWnpsN2RU
...
...
cUNDaDljQjZsSHBjaEM1T0liTE4xcUswMmV3eUJ0VXVxNW9NcURBMGJzRGdUdlo5cmdBS1RrdG5O
WFhoQzZ3cXo5WTFVSGFER3JFd2ljSGhTaEtyMkswcmdMSHR4cmhjQVE3Y0lGYlpqN0FuOVlRejRF
RDNscDlad2lBUDlhb25BSXM=
-----END RSA PRIVATE KEY-----

상단에서 SSH 키 섹션을 제거하고 올바른 위치(파일이 아직 없는 경우 ~/.ssh/id_rsa)에 넣거나, 필요한 것이 없으면 전체 파일을 삭제합니다.

답변2

~/.ssh/known_hosts is not a valid known hosts file.

이는 파일이 존재하지만 표준 형식이 아니라는 의미라고 생각합니다.

ssh-keygen이전 키를 잃지 않도록 파일을 업데이트하세요. 새 항목을 편집하기 전에 기존 항목을 이해하는 것이 중요합니다.

텍스트 편집기를 사용하여 기존 파일을 보고 그 안에 무엇이 있는지 확인하세요. 비어 있거나 이전 오류로 인해 손상되었을 수 있습니다. 문제를 해결할 수 있는지(먼저 백업해 두기), 아니면 처음부터 다시 시작할지 결정해야 합니다. 어쩌면 다음으로 옮기면 됩니다:

~/.ssh/known_hosts.yyyymmdd

이는 기존 생성 날짜의 타임스탬프가 되므로 ssh-keygen새 파일이 생성됩니다.

관련 정보