SCP 파일 전송 중 SHA-256 지문 확인

SCP 파일 전송 중 SHA-256 지문 확인

scp bash 명령을 통해 ServerA에서 ServerB로 파일을 보내기 위해 작성한 자동화된 도구를 사용합니다. ServerB 호스트 인증에는 SHA-256 지문이 필요합니다. ServerA의 파일이 지문 SHA-256을 사용하여 ServerB로 전송되도록 하는 올바른 방법은 무엇입니까?

답변1

키 지문만 있고 공개 키 자체는 없는 경우 서버에 공개 키를 요청하고 해당 지문을 생성할 수 있습니다.

ssh-keyscan some.server | ssh-keygen -lf -

그런 다음 해당 출력에서 ​​지문을 찾을 수 있습니다. 예:

% ssh-keyscan github.com | ssh-keygen -lf- | grep -w 'SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8' && echo key matched
# github.com:22 SSH-2.0-babeld-f97ce5b9
# github.com:22 SSH-2.0-babeld-f97ce5b9
# github.com:22 SSH-2.0-babeld-f97ce5b9
2048 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 github.com (RSA)
key matched

지문이 일치하면 키가 다음에 추가됩니다 .known_hosts.

if ssh-keyscan some.server 2>/dev/null | ssh-keygen -lf - | grep -q 'SHA256:somekey'
then
    ssh-keyscan some.server >> ~/.ssh/known_hosts
fi

관련 정보