ssh-keyscan -H externalIpExample
localhost에서 직접 이 값을 생성하려면 어떻게 해야 합니까 (네트워크 액세스가 필요하지 않습니까?)
하나의 특정 호스트에 두 개의 공개 키가 있습니다. /etc/ssh
둘 다 작동합니까?
ls /etc/ssh/*.pub
/etc/ssh/ssh_host_ed25519_key.pub
/etc/ssh/ssh_host_rsa_key.pub
답변1
내가 올바르게 이해하고 귀하가 포트 22에서 수신한다고 가정하면 ssh
다음 localhost
과 같습니다.
awk '{print "[localhost]:22 " $1 " " $2}' /etc/ssh/ssh_host_ecdsa_key.pub
항목 known_hosts
이 인쇄됩니다. 일부 SSH 구현은 의 항목을 난독화 ~/.ssh/known_hosts
하지만 위 명령은 그렇지 않습니다.
# awk '{print "[localhost]:22 " $1 " " $2}' /etc/ssh/ssh_host_ecdsa_key.pub
[localhost]:22 ecdsa-sha2-nistp256 AAAAE2............g7vPmspiyg=
답변2
이 질문은 약간 모호하지만 이미 쉘 액세스 권한이 있는 시스템에서 ssh 호스트 공개 키를 검색하려는 경우(본과 유사한 쉘을 사용한다고 가정) 일반적으로 다음과 같은 것이 유용합니다. :
ssh-keyscan `hostname -f` -H
...그러나 사용 사례와 호스트 참조 방법에 따라 hostname
특정 IP 주소를 바꾸거나 사용하는 것이 더 나을 수도 있습니다 hostname -f
.
대신 이전에 기록된 호스트 키 항목을 Known_hosts 파일에서 찾으려면 다음과 같은 방법을 사용할 수 있습니다.
ssh-keygen -F name.or.ip.address.of.remote.host -f ~/.ssh/known_hosts