RSA 키의 지문-GitHub가 일치하지 않습니까?
RSA 지문이 어떻게 작동하는지 궁금합니다. GitHub 계정이 있고 ssh 연결을 설정하기 위해 RSA 키 쌍을 만들었습니다. 그런 다음 지침을 따랐습니다 ... 처음으로 GitHub에 연결하면 저와 RSA 지문이 제공됩니다. SHA256:nThbkt6JwfF............
좋아, 학습 과정을 위해이 작업을 수행하고 있으므로 이것이 의미하는 바를 Google에서 검색하고 내 RSA 키에서 지문을 생성하려고합니다. 내 GitHub 계정의 것과 일치합니다. 하지만 사용 후 얻는 ssh-keygen -lf ~/.ssh/id_rsa
것은 동일하지 않습니다.SHA256: t6Rjff8djE........
주어진 지문이 합법적인지 확인하기 위해 내 접근 방식에서 뭔가 잘못하고 있습니까?
답변
SSH에는 두 개의 공개-개인 키 쌍이 필요합니다. 하나는 서버 측에, 다른 하나는 클라이언트 측에 있습니다. 단순 열에서 서버로가는 것을 암호화하려는 경우 서버 공개 키를 사용하고 있습니다 (서버 개인 키를 사용하여 서버 측에서 해독 됨). 서버가 사용자에게 무언가를 보낼 때 공개 키를 사용하는 것입니다 (컴퓨터에 저장된 개인 키를 사용하여 해독하는 것입니다).
서버가 자신의 지문 (인증서의 지문이 아님)을 제시하고 있습니다. 따라서 서버에서 제공하는 공개 키의 유효성을 검사 할 수 있습니다. 일반적으로 지문은 캐시되므로 다음에 ssh에서 메시지를 표시하지 않습니다.
github에서 공개 키를 구성 할 때 기본적으로 인증 및 키 교환에 사용할 키를 github에 알리는 것입니다. Github는이 키가 사용자로부터 온다는 것을 "신뢰"하여 업로드 할 때 비밀번호로 자신을 인증합니다. 이론적으로 만 데이터를 해독 할 수 있습니다. 해당 개인 키만 가지고 있기 때문입니다. 키를 업로드하면 컴퓨터와 GitHub 서버간에 신뢰 관계를 설정하게됩니다.
업로드 한 키의 지문이 컴퓨터에있는 키의 지문과 다른 경우 원인은 다음과 같습니다.
- 잘못된 키를 지문 인식합니다.
- 생성 명령을 여러 번 실행하여 원래 키를 덮어 썼습니다.
- 서버에서 오는 지문 (서버 지문)을 자신의 인증서 지문과 혼동합니다.