ssh
서버에 연결할 때 16진수 지문이 표시된다는 오래된 질문을 봤습니다 .
이제 왜 base64 형식으로 제공됩니까? 이점은 무엇입니까?
나는 MD5
그것이 깨졌고 기본값은 now 이라는 것을 알고 있지만 sha256
지문 형식의 경우 base64 인코딩과 16진수 문자열은 동일한 것을 나타냅니다. 그렇다면 형식을 변경하면 어떤 이점이 있습니까?
답변1
변경된 출력 형식뿐만 아니라 지문을 생성하는 데 사용되는 알고리즘도 마찬가지입니다. 예전에는 MD5였지만 이제는 SHA256입니다. MD5는 여러 면에서 손상되었으며,일반적인 조언SHA256 또는 이와 유사한 것을 사용하십시오. 그러한 변화는 오랜 시간이 걸렸습니다.
~에서릴리즈 노트:
키 지문에 사용되는 알고리즘을 제어하기 위해 다른 도구에 FingerprintHash 옵션
ssh(1)
과sshd(8)
이에 상응하는 명령줄 플래그를 추가했습니다.
기본값이 MD5에서 SHA256으로 변경되고 형식이 16진수에서 base64로 변경되었습니다.지문은 이제 해싱 알고리즘을 예상합니다.
새로운 형식의 예:SHA256:mVPwvezndPv/ARoIadVY98vAC0g+P/5633yTC4d/wXE
시각적 호스트 키도 달라집니다.
넌 아직 얻을 수 있어오래된 출력:
ssh -o FingerprintHash=md5 ...
SHA256 해시 값은 256비트 출력을 가지며 16진수 64자로 변환됩니다. 이는 16진수 32자 MD5 해시 길이의 두 배입니다. Base64로 인코딩된 SHA256 문자의 길이는 44바이트에 불과합니다( =
어쨌든 마지막 패딩은 생략됨).