내 VPS에 SSH로 연결할 때 "문제가 있는 키" 경고

내 VPS에 SSH로 연결할 때 "문제가 있는 키" 경고

내가 실행할 때 :

ssh root@myVPS

다음 경고가 표시됩니다.

Warning: the RSA host key for 'myVPS' differs from the key for the IP address 'xxx.xx.xxx.xx'
Offending key for IP in /home/manolo/.ssh/known_hosts:1
Matching host key in /home/manolo/.ssh/known_hosts:2
Are you sure you want to continue connecting (yes/no)?

"예"를 입력하면 제대로 작동하지만 왜 이 경고가 표시되는지 모르겠습니다. 왜 던져지고 그것을 피하는 방법에 대한 제안이 있습니까?

답변1

대부분의 경우 어느 시점에 VPS를 다시 설치하고 호스트 이름 및/또는 IP 주소를 유지했을 것입니다. 재설치 시 VPS의 호스트 키가 재생성되었으며 의 호스트 키와 다르기 때문에 ~/.ssh/known_hosts문제를 감지할 수 있도록 경고가 표시됩니다. 이는 합법적인 호스트를 대체하는 완전히 다른 시스템(예: 비밀번호 수집)에 연결하는 것을 방지하기 위해 수행됩니다.

그러한 일이 발생한 경우 known_hosts파일에서 문제가 되는 키를 제거하면 모든 것이 정상입니다. 그러나 그러한 재설치를 인식하지 못하는 경우 추가 조사를 통해 키가 다른 이유를 이해해야 합니다.

답변2

저도 같은 문제가 있었는데 해결하기가 매우 쉽습니다. Known_hosts 파일을 열고 vi .ssh/known_hosts서버 이름을 검색하세요. IP 주소 없이 호스트 키가 있는 경우 해당 파일에 IP를 추가하면 문제가 해결됩니다. 전에:

myVPS ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsIfCSqA2rSlTvH8AMrMjpD66y5dOsYOPp30AXYGAEAFkVBs1+51lbRNyiFenpbxOyQjyvpgVJdkC4kqgG66xE6IPBrqpUFL3KjbUCTZ8sNHWn+I89bAMWDzGEiqaad/powDxgZgFe74bV82Se1igbFmHlHwwb7DEAcjXh34XbcMgJ0vIExJqPV1zccKkCXhstQy7av0+I7GRz5wIbYiIFMungKIhX3upwQOzyW/E1RDmq89BRv1g2ch1xsKK5OpNjCCFP2OSYPybJmFXhjOWI7LUdFASmaw5Z1az9LLpLKQePQ4mWsL/ON8Z9uvzhQig3hdQ/cnrAsRLShn4rJratw==

IP를 추가한 후:

myVPS,198.51.100.42 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsIfCSqA2rSlTvH8AMrMjpD66y5dOsYOPp30AXYGAEAFkVBs1+51lbRNyiFenpbxOyQjyvpgVJdkC4kqgG66xE6IPBrqpUFL3KjbUCTZ8sNHWn+I89bAMWDzGEiqaad/powDxgZgFe74bV82Se1igbFmHlHwwb7DEAcjXh34XbcMgJ0vIExJqPV1zccKkCXhstQy7av0+I7GRz5wIbYiIFMungKIhX3upwQOzyW/E1RDmq89BRv1g2ch1xsKK5OpNjCCFP2OSYPybJmFXhjOWI7LUdFASmaw5Z1az9LLpLKQePQ4mWsL/ON8Z9uvzhQig3hdQ/cnrAsRLShn4rJratw==

답변3

Known_hosts 파일에서 호스트 이름과 IP 주소를 모두 지워야 합니다. 다음과 같이 할 수 있습니다.

ssh-keygen -f ~/.ssh/known_hosts -R [somehostname.net]
ssh-keygen -f ~/.ssh/known_hosts -R [123.123.123.123]

지우려는 호스트의 호스트 이름 또는 도메인 이름으로 바꾸고 somehostname.net, IP ​​주소를 호스트 IP 주소로 바꾸십시오(대괄호는 그대로 두십시오). 제대로 작동했다면 다음과 같은 메시지가 표시됩니다.

/home/yourname/.ssh/known_hosts updated.
Original contents retained as /home/yourname/.ssh/known_hosts.old

작동하지 않으면 대괄호 없이 동일한 작업을 시도하고 호스트 이름과 IP 주소가 올바른지 다시 확인하세요.

ssh-keygen -f ~/.ssh/known_hosts -R somehostname.net
ssh-keygen -f ~/.ssh/known_hosts -R 123.123.123.123

호스트의 SSH 포트가 다른 포트에 있는 경우(22 대신 2222라고 말하면) 다음과 같이 포트를 추가하기만 하면 됩니다.

ssh-keygen -f ~/.ssh/known_hosts -R [somehostname.net]:2222
ssh-keygen -f ~/.ssh/known_hosts -R [123.123.123.123]:2222

답변4

다음과 같은 오류가 발생하는 경우:

Warning: the RSA host key for 'myVPS' differs from the key for the IP address 'xxx.xx.xxx.xx'
Offending key for IP in /home/manolo/.ssh/known_hosts:1
Matching host key in /home/manolo/.ssh/known_hosts:2
Are you sure you want to continue connecting (yes/no)?

Known_hosts 파일에서 라인 1을 삭제하세요. 그런 다음 다음에 git 명령을 실행하면 hew RSA 호스트가 추가됩니다.

관련 정보