키 지문의 여러 표현 방법

키 지문의 여러 표현 방법

ssh키 지문은 동일한 명령을 사용하더라도 ( ssh-keygen -lf다른 호스트에서 또는 다른 키와 관련하여) 서버 및 클라이언트 인증에서 다르게 표시됩니다.

대표자 1:

$ ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
256 SHA256:3RE3UrGaTAec8H4YnZG7JTlfXpKvl89iexdqzLCyffY root@hostname1 (ED25519)

대표자 2:

$ ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
d0:21:3e:ec:52:ff:19:a9:e7:71:b5:7f:63:23:57:f7

(예제:이 페이지)

대표자 3:

AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHVo5+sYnRQxerJjG/DmUzQFso+CGzcnGT/SDa457qQqh6WIquvWOIXIY5gNPZoOByAoriK+WRxgTT39hYFmpXE=

~에서

$ ssh-keygen -H -F hostname2
|1|/DmY6Hm8TdZogykndJOUacp2NaM=|uM+t3vLw3KRySPUeXNqBLCxaGtY= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHVo5+sYnRQxerJjG/DmUzQFso+CGzcnGT/SDa457qQqh6WIquvWOIXIY5gNPZoOByAoriK+WRxgTT39hYFmpXE=

.ssh/known_hosts이것은 파일의 해당 행입니다 hostname2.

그들 사이의 차이점은 무엇입니까? 그리고 그것들이 동등하다면 다른 표현으로부터 각 표현을 어떻게 얻습니까?


OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 20171과 3은 Ubuntu 18.04를 사용하여 얻은 것입니다.

답변1

구 버전ssh-keygenOpenSSH 유틸리티는 MD5 해시만 표시합니다.이제 SHA256 해시가 기본적으로 표시됩니다., 다음 옵션을 사용하여 MD5 해시를 선택할 수 있습니다 -E.

user@host:~/.ssh$ ssh-keygen -E md5 -l -f samplekey
2048 MD5:e6:1f:73:0f:14:cb:9a:71:2f:3b:31:b7:3f:58:1c:52 user@host (RSA)
user@host:~/.ssh$ ssh-keygen -E sha256 -l -f samplekey
2048 SHA256:Oyt9H15ZBmITbhljpSiE/BLreo/+j+6lsC3gClGI97U user@host (RSA)
user@host:~/.ssh$ ssh-keygen -B -l -f samplekey
2048 xomiz-lozad-ruzin-lasuz-vibic-fydar-hecoh-mapuv-vytus-futah-maxox user@host (RSA)

또한 -vMD5 또는 SHA256 해시에 (시각적) 플래그를 추가하여 영숫자 해시 외에 ASCII 아트 비교 이미지를 얻을 수 있습니다.

user@host:~/.ssh$ ssh-keygen -E sha256 -l -v -f samplekey
2048 SHA256:Oyt9H15ZBmITbhljpSiE/BLreo/+j+6lsC3gClGI97U user@host (RSA)
+---[RSA 2048]----+
|     . ..   =..  |
|..    +.   + *   |
|o o   .+. . O .  |
| o . .o... o o . |
|.   ..E.S       o|
| .  . .  .     + |
|.  . o..o . . o  |
| .  o +=.*.. o   |
|  .. o+BXo..o    |
+----[SHA256]-----+
user@host:~/.ssh$

세 번째 표현은 지문이 아니라 Base-64로 인코딩된 공개 키입니다. 공개 키는 해당 키를 허용하는 시스템의 파일 samplekey.pub이나 파일에 저장됩니다 .known_hosts

키는 해시에서 결정될 수 없습니다. 키에서 해시를 얻으려면 ssh-keygen유틸리티와 기본 옵션을 사용하거나 및/또는 옵션을 사용하여 -E원하는 -B출력 -v스타일을 얻으십시오.

known_hosts위의 예와 같이 원래 공개 키 파일의 지문이 아닌 파일에서 키의 지문을 얻으려면 키 유형과 키가 포함된 문자열을 다음으로 직접 파이프할 수 있습니다 ssh-keygen.

$ echo "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHVo5+sYnRQxerJjG/DmUzQFso+CGzcnGT/SDa457qQqh6WIquvWOIXIY5gNPZoOByAoriK+WRxgTT39hYFmpXE=" | ssh-keygen -l -f -
256 SHA256:wOxOBgRQp1qQcnTIjgmE/GB8+3fm8ahyDXuL/2GzgIo no comment (ECDSA)

관련 정보