我有两台运行 OpenBSD v6.9 的机器。让我们原创一下,将它们称为客户端和服务器。
我使用以下命令在服务器上生成了 SSHFP 记录:
ssh-keygen -r host.domain.tld
Run Code Online (Sandbox Code Playgroud)
在 DNS 区域中,我使用以下行添加了 SSHFP 记录:
host IN SSHFP 1 2 02323a6fb8a12eba9288930ce2513fc94970e5575996ebede1ee352bd039c531
host IN SSHFP 4 2 3eef5929fe85038b2e2a7de70897175e7b0d68328b41ef6466a2fa06f9a8bb49
Run Code Online (Sandbox Code Playgroud)
sshd 配置为仅使用 Ed25519 主机密钥,但我也保留 RSA 主机密钥以备将来需要。
DNS 区域使用 DNSSEC 进行签名,所有内容均通过“https://dnsviz.net/”和“https://dnssec-debugger.verisignlabs.com/”进行验证。
在客户端,有一个带有 DNSSEC 验证器的 Unbound 解析器:
dig host.domain.tld -t SSHFP
; <<>> dig 9.10.8-P1 <<>> host.domain.tld -t SSHFP
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9525
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: …Run Code Online (Sandbox Code Playgroud)