저는 Windows 10에서 작업하고 있습니다.
PuTTY를 사용하여 물리적인 CentOS7, 가상 머신인 CentOS6,7 및 Ubuntu 16으로 ssh를 사용합니다.
Win TO vb:Ubuntu에서 처음으로 ssh를 실행하면 알려진 호스트 팝업 대신 일반 ole 서버/지문이 표시됩니다. 별거 아니야. 하지만 저는 알고 싶습니다. "중개자"가 없다는 것을 어떻게 확인할 수 있습니까?
가장 간단한 경우: 대상(이하 "로컬"이라고 함) 앞에 앉아 대상의 지문을 직접 확인합니다.
결과: Ubuntu 16에서 ssh-keygen -lf <filename>
(file :)을 사용하여 로컬로 공개 시스템 키 지문을 보려고 하면 /etc/ssh/ssh_host_rsa_key.pub
원격 SSH의 경고와 일치할 수 없는 지문이 생성되었습니다.
어디든지 내 말은 다음과 같습니다.
- 문자열은 PuTTy 팝업 창에 나타나는 것이 아니며,
"2048 SHA256:NPAUL **** 4QQ [email protected] (RSA)"
공개 키 파일을 CentOS6 또는 7에 복사하고
ssh-keygen -l -f
실행하면 서로 일치하지만ssh-keygen
Ubuntu에서 로컬로 실행할 때는 일치하지 않습니다(즉, 다른 구현).2a. 이렇게 하는 것은
scp
테스트할 수 있는 한 가지 방법일 뿐입니다.
질문의 핵심은 "예"라고 말하기 전에 SSH UI에 표시된 지문이 올바른지 어떻게 확인합니까?입니다.
지문 부분 보기(대략):
"2048 SHA256:NPAULv10 **** lic4QQ [email protected] (RSA)"
원격으로 지문 보기(Win PuTTy 사용):
"The new rsa2 key fingerprint is: ssh-rsa 2048 ce:e9:43 **** :cb"
원격으로 지문 보기(CentOS6&7 터미널 사용): "2048 ce:e9:43 ****:cb" 파일 이름(RSA)
노트:
- 원격으로 본 지문에는 콜론이 있습니다.
- bubblebabble 다이제스트(
-B
)가 일치하지만 지문은 아닙니다. - 로컬 항목(
ssh-keygen -lf
예:/etc/ssh*.pub
*dsa_key.pub, *ecdsa_key.pub, *ed25519_key.pub 및 *rsa_key.pub)에도 원격으로 표시된 지문과 일치하는 출력이 없습니다. - 내가 뭔가를 간과했을 수도 있습니다. 표준 매뉴얼 페이지와 우분투 문서를 확인했지만... 내가 무엇을 놓쳤는지 잘 모르겠습니다.
답변1
스위치를 사용하여 -E
다음으로 전환합니다 ssh-keygen
.
ssh-keygen -l -f -E md5
이는 최신 OpenSSH 버전에서 사용할 수 있으며 PuTTY와 동일한 "이전" MD5 지문을 인쇄합니다.