[github] RSA 키 지문 계산

GitHub에 대한 SSH 키 감사를 수행해야하지만 RSA 키 지문을 어떻게 찾을 수 있는지 잘 모르겠습니다. 원래 Linux에서 SSH 키를 생성하는 가이드를 따랐습니다.

현재 RSA 키 지문을 찾으려면 어떤 명령을 입력해야합니까?



답변

SSH 키의 SHA256 지문을 검색하려면 다음 명령을 실행하십시오 ( -l새 키를 작성하는 대신 “list”, -f“filename”을 의미 함).

$ ssh-keygen -lf /path/to/ssh/key

예를 들어 내 컴퓨터에서 내가 실행 한 명령은 (RSA 공개 키 사용)입니다.

$ ssh-keygen -lf ~/.ssh/id_rsa.pub
2048 00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff /Users/username/.ssh/id_rsa.pub (RSA)

최신 버전의 ssh-keygen으로 GitHub (MD5) 지문 형식을 얻으려면 다음을 실행하십시오.

$ ssh-keygen -E md5 -lf <fileName>

보너스 정보 :

ssh-keygen -lf또한 작업 known_hostsauthorized_keys파일.

Linux / Unix / OS X 시스템에서 대부분의 공개 키를 찾으려면 다음을 실행하십시오.

$ find /etc/ssh /home/*/.ssh /Users/*/.ssh -name '*.pub' -o -name 'authorized_keys' -o -name 'known_hosts'

(다른 사용자의 홈 디렉토리 내부를 보려면 루트 또는 sudo 여야합니다.)

ssh-add -l매우 비슷하지만, 당신의 에이전트에 추가 키의 지문을 보여줍니다. (OS X 사용자는 키 체인을 통한 매직 비밀번호없는 SSH는 ssh-agent를 사용하는 것과 다릅니다.)


답변

최신 SSH 명령은 지문을 SHA256 키로 표시합니다.

예를 들면 다음과 같습니다.

ssh-keygen -lf ~/.ssh/id_dsa.pub
1024 SHA256:19n6fkdz0qqmowiBy6XEaA87EuG/jgWUr44ZSBhJl6Y (DSA)

기존 지문과 비교해야하는 경우 MD5 지문 해싱 기능 을 사용하도록 지정해야 합니다.

ssh-keygen -E md5 -lf ~/.ssh/id_dsa.pub
2048 MD5:4d:5b:97:19:8c:fe:06:f0:29:e7:f5:96:77:cb:3c:71 (DSA)

도 가능: -E sha1

업데이트 … 예 … 예 … 알아요 … SSH 용 DSA 키를 더 이상 사용하지 말고 이전 RSA 키 또는 최신 이클립스 키를 대신 사용해야합니다.

위에서 사용한 명령을 계속 편집하는 ‘관리자’에게. IT 변경을 중지하십시오! 명령과 결과 출력이 일치하지 않습니다!


답변

Ubuntu에서 키를 보려면 터미널에서 다음 명령을 입력하십시오.

ssh-add -l

다음과 같은 결과가 나타납니다.
2568 0j:20:4b:88:a7:9t:wd:19:f0:d4:4y:9g:27:cf:97:23yourName @ ubuntu (RSA)

그러나 다음과 같은 오류가 발생하면; Could not open a connection to your authentication agent.
그런 다음 ssh-agent가 실행되고 있지 않음을 의미합니다. 다음과 같이 시작 / 실행 할 수 있습니다
ssh-agent bash(댓글의 @Richard 덕분에)ssh-add -l


답변

키 쌍 (개인 및 공개 키)은 동일한 지문을 갖습니다. 따라서 어떤 개인 키가 어떤 공개 키에 속하는지 기억할 수없는 경우 지문을 비교하여 일치하는 항목을 찾으십시오.

Marvin Vinto가 가장 많이 투표 한 답변은 공개 SSH 키 파일 의 지문을 제공 합니다. 해당 개인 SSH 키 의 지문 도 쿼리 할 수 ​​있지만 아래 그림과 같이 더 긴 단계가 필요합니다.

  1. SSH 에이전트를로드하지 않은 경우로드하십시오. 가장 쉬운 방법은 호출하는 것입니다

    $ ssh-agent bash
    

    또는

    $ ssh-agent tcsh
    

    (또는 사용하는 다른 쉘).

  2. 테스트하려는 개인 키를로드하십시오.

    $ ssh-add /path/to/your-ssh-private-key
    

    키가 비밀번호로 보호 된 경우 비밀번호 문구를 입력하라는 메시지가 표시됩니다.

  3. 이제 다른 사람들이 말했듯이

    $ ssh-add -l
    1024 fd:bc:8a:81:58:8f:2c:78:86:a2:cf:02:40:7d:9d:3c you@yourhost (DSA)
    

    fd:bc:...당신이 따르는 지문입니다. 여러 개의 키가있는 경우 여러 줄이 인쇄되고 마지막 줄에는 마지막으로로드 된 키의 지문이 포함됩니다.

  4. 에이전트를 중지하려면 (즉, 위의 1 단계를 호출 한 경우) 간단히 쉘에`exit ‘를 입력하면 ssh 에이전트를로드하기 전에 쉘로 돌아갑니다.

나는 새로운 정보를 추가하지는 않지만이 답변이 모든 수준의 사용자에게 분명하기를 바랍니다.


답변

키가 SSH 에이전트에있는 경우 가장 빠른 방법 :

$ ssh-add -L | ssh-keygen -E md5 -lf /dev/stdin

에이전트의 각 키는 다음과 같이 인쇄됩니다.

4096 MD5:8f:c9:dc:40:ec:9e:dc:65:74:f7:20:c1:29:d1:e8:5a /Users/cmcginty/.ssh/id_rsa (RSA)


답변

유스 케이스에 도움이 되었기 때문에 여기 에서 AWS 포럼의 컨텐츠를 재생성 했습니다. AWS로 가져온 키와 일치하는 키를 확인하고 싶습니다.

openssl pkey -in ~/.ssh/ec2/primary.pem -pubout -outform DER | openssl md5 -c

여기서 :- primary.pem확인할 개인 키


답변

$ ssh-add -l

Mac OS X v10.8 (Mountain Lion) -v10.10 (Yosemite) 에서도 작동합니다 .

또한 -EMD5가 필요한 경우 (예 : GitHub에서 자주 사용하는 경우) 지문 형식을 지정 하는 옵션도 지원 하므로 -E md5명령에 추가하면 됩니다.