ssh-keygen으로 ssh 핑거프린트를 확인해봅시다
ssh 키 핑거프린트란?
SSH 키페어는 공개키/비밀키로 구성됩니다. 여기서 핑거프린트(fingerprint, 지문)는 공개키의 지문을 나타냅니다. 이 핑거프린트를 이용해 SSH 공개키를 검증할 수 있습니다.
SSH로 원격 호스트에 접속하려고 할 때, 호스트의 공개키 핑거프린트를 확인하고, ~/.ssh/known_hosts에 추가하게 됩니다. 이때 서버의 공개키 검증을 생략하면 중간자 공격(MITM)의 위험성이 있습니다.
ssh 키 핑거프린트 확인하기
❯ ssh-keygen -f ~/.ssh/temp
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/vince/.ssh/temp
Your public key has been saved in /Users/vince/.ssh/temp.pub
The key fingerprint is:
SHA256:CN+uGTKtgcoWk0e0pUpfx1/7GPB0EFt+2xV3XXKbhJo vince@vince-PC.local
The key's randomart image is:
+---[RSA 3072]----+
| ...ooB|
| . . .+..oB|
| . = . .+. +.|
| . + + = . E .. +|
|. = . + S = o ..|
| = + . . . + |
| = + o . + |
|.o = + . . |
|o. . o |
+----[SHA256]-----+
테스트용으로 임시 ssh key를 만들어봅시다.
잘 보면 사실 키를 생성할 때 "The key fingerprint is: ..." 하고 나옵니다.
❯ ssh-keygen -l -f temp
3072 SHA256:CN+uGTKtgcoWk0e0pUpfx1/7GPB0EFt+2xV3XXKbhJo vince@vince-PC.local (RSA)
# ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]
공개키 확인 역시 ssh-keygen으로 할 수 있습니다. -l 옵션은 지정한 공개키의 핑거프린트를 출력합니다. -f로 공개키 파일을 지정할 수 있습니다. RSA/DSA 키라면 비밀키를 지정했을 때 매칭되는 공개키를 알아서 찾습니다.
❯ ssh-keygen -l -E md5 -f temp
3072 MD5:5b:cd:80:56:6c:35:d3:ce:52:5a:af:3e:23:7b:ca:a4 vince@vince-PC.local (RSA)
-E fingerprint_hash
Specifies the hash algorithm used when displaying key fingerprints. Valid options
are: “md5” and “sha256”. The default is “sha256”.
-E로 핑거프린트 해시 알고리즘을 선택할 수 있습니다. 기본은 sha256이고, md5도 선택 가능합니다.
❯ ssh-keygen -l -f temp -v
3072 SHA256:CN+uGTKtgcoWk0e0pUpfx1/7GPB0EFt+2xV3XXKbhJo vince@vince-PC.local (RSA)
+---[RSA 3072]----+
| ...ooB|
| . . .+..oB|
| . = . .+. +.|
| . + + = . E .. +|
|. = . + S = o ..|
| = + . . . + |
| = + o . + |
|.o = + . . |
|o. . o |
+----[SHA256]-----+
-v 옵션을 추가하면 키의 아스키 아트(randomart)를 볼 수 있습니다.
반응형
'OS > Linux' 카테고리의 다른 글
curl로 받은 파일 크기가 0일 때 (0) | 2023.01.12 |
---|---|
Ubuntu 버전 확인 방법 (0) | 2020.08.02 |
Ubuntu "System restart required" 메시지가 나올 때 (0) | 2020.08.02 |
리눅스 메모리 사용량 확인법 (free 커맨드) (0) | 2020.07.24 |
JPS 이용해서 자바 프로세스 킬하는 법 (0) | 2017.01.30 |