我犹豫是否要问这个问题,因为我怀疑自己很愚蠢,但是......
在运行 bind 9.18.18 的 Ubuntu 服务器 22.04 上,当我运行 时ddns-confgen -k host.example.com
,它会输出一些引用指定服务器配置所需的密钥和配置的指令。它还包括以下内容:
# After the keyfile has been placed, the following command will
# execute nsupdate using this key:
nsupdate -k <keyfile>
手册页指出:
密钥名称可以使用 -k 参数指定,默认为 ddns-key。生成的密钥附带配置文本和说明,可与 nsupdate 一起使用并在设置动态 DNS 时命名
它引用的“生成的密钥”在哪里(手册页中没有任何关于路径或任何选项的内容)?nsupdate
它不会出现在我运行命令的目录中,但我需要在更新区域时将该密钥提供给命令。
(此答案大部分最初是由用户给出的,现已删除。)
与 等密钥创建命令不同
ssh-keygen
,ddns-confgen
不会创建或假设将生成输出文件。相反,它会在控制台中向您显示一个密钥以及一些其他说明。但是,对于
nsupdate -k
命令的密钥文件应采用什么格式,指令并不清楚。ddns-confgen
事实上,它是使用该选项运行时给出的四行q
。因此,运行
ddns-confgen -qk host.example.com > keyfile.key
将为您提供需要提供的文件nsupdate -k
(不使用复制/粘贴)。但请注意,每次运行时ddns-confgen
密钥都会发生变化,因此您需要确保为服务器提供将nsupdate
要使用的相同密钥。另请记住,使用说明
nsupdate -k <keyfile>
可能不会按您想要的方式工作。您需要阅读文档以nsupdate
提供更新区域的各种其他选项。