我犹豫着要不要问这个问题因为我怀疑自己很蠢,但是......
在运行 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
在更新区域时将该密钥提供给命令。
答案1
(该答案的大部分内容最初由一位用户给出,该用户现已将其删除。)
与 等密钥创建命令不同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
提供各种其他选项来更新区域。