Scp
scp 文件發送期間的 SHA-256 指紋驗證
使用自行編寫的自動化工具通過 scp bash 命令將文件從 ServerA 發送到 ServerB。ServerB 主機驗證需要 SHA-256 指紋。在 ServerA 中確保文件將通過 thumprint SHA-256 發送到 ServerB 的正確方法是什麼?
如果您只有密鑰指紋,而沒有公鑰本身,您可以向伺服器詢問其公鑰並生成相應的指紋:
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