.ssh/known_hosts에서 지문을 추출하는 방법은 무엇입니까? 하지만 특정 키 유형을 필터링합니다.

.ssh/known_hosts에서 지문을 추출하는 방법은 무엇입니까? 하지만 특정 키 유형을 필터링합니다.

나는 이 질문을 읽었습니다.

답변이 효과가 있었으므로 몇 가지 변형을 시도했습니다.

ssh-keygen           -lf   ~/.ssh/known_hosts -F 192.168.1.X
ssh-keygen           -lvf  ~/.ssh/known_hosts -F 192.168.1.X
ssh-keygen -E md5    -lvf  ~/.ssh/known_hosts -F 192.168.1.X
ssh-keygen -E sha256 -lvf  ~/.ssh/known_hosts -F 192.168.1.X

모든 것이 예상대로 작동합니다.

관찰 사항: 위의 명령 공유에 대해 모두 표시됩니다.지문스스로 일어서자키 유형, 예를 들어 rsa, ecdsa등등... 저도 이에 동의합니다만... 이 글을 쓰는 이유는

질문:

  • ssh-keygen특정 필터로 명령을 실행하는 방법은 무엇입니까 key type?

ssh-keyscanoptions 와 유사 -t하므로 다음과 같습니다.

ssh-keygen -lf   ~/.ssh/known_hosts -F 192.168.1.X -? rsa
ssh-keygen -lf   ~/.ssh/known_hosts -F 192.168.1.X -? ecdsa

그렇다면 그것은 무엇일까요 ?? - 봤는데 ssh-keygen --help그런 지원은 없는 것 같아요.

답변1

Korn과 같은 셸에서는 언제든지 다음을 수행할 수 있습니다.

ssh-keygen -lf <(grep ' ssh-rsa ' ~/.ssh/known_hosts) -F localhost

물고기도 마찬가지입니다.

ssh-keygen -lf (grep ' ssh-rsa ' ~/.ssh/known_hosts|psub) -F localhost

또는 시스템이 /dev/stdin(가장 현재) 다음을 가지고 있다고 가정하는 다른 쉘:

grep ' ssh-rsa ' ~/.ssh/known_hosts | ssh-keygen -lf /dev/stdin -F localhost

이러한 파일 행은 다른 곳 (주석이나 옵션 등)에서는 ssh-rsa찾을 수 없다고 가정합니다 .known_hosts

관련 정보