ssh-keyscan -H는 매번 다른 키를 반환합니다.

ssh-keyscan -H는 매번 다른 키를 반환합니다.

실행할 때마다 다른 키를 얻습니다 ssh-keyscan -H some.hostname.example. 왜 그런 겁니까? 서버가 지속적으로 키를 변경합니까?

한 번의 실행에서 얻은 키는 후속 실행 후에도 작동하는 것 같습니다. 왜냐하면 ssh한 세트의 키를 ~/.ssh/known_hosts.

편집: 틀렸습니다. 키는 변경되지 않지만 첫 번째 열(호스트 이름 포함)은 변경됩니다. 양식에 있습니다 |1|<something base64>|<something else base64>. base64로 인코딩된 내용이 무엇인지 잘 모르겠지만 바이너리인 것 같습니다.

답변1

호스트 이름 부분은 해시됩니다. 동일한 이름/IP가 다른 해시를 가질 수 있습니다(ssh-keycheck -H를 사용했음을 기억하십시오). 따라서 이는 정상적인 동작입니다.

답변2

여기에 대한 답변https://security.stackexchange.com/questions/56268/ssh-benefits-of-using-hashed-known-hosts해싱이 수행되는 방법을 자세히 설명합니다.

그 요점은 동일한 해시를 갖지 않고 많은 입력 텍스트에 대한 해시를 쉽게 미리 계산할 수 있도록 "소금"(임의의 추가 데이터)을 포함한다는 것입니다. 솔트는 무작위이지만 표시되며 자체적으로 해시되지는 않습니다.

관련 정보