我正在使用 Puppet 管理所有设备(包括一堆 Raspberry Pi)上的 SSH 密钥,但只有 Raspberry Pi 抱怨缺少 ssh_authorized_key 类型。
Warning: /Stage[main]/Profile::Users/User[username]: Ssh_authorized_key type is not available. Cannot purge SSH keys.
我在整个环境中使用 puppet 和 puppetserver 6.0.2,并且我的 Raspberry Pi 都运行 raspbian,并且在使用 stretch 包方面都是最新的。
知道为什么该类型不可用吗?
答案1
你需要有puppetlabs/sshkeys_core如果使用 Puppet 6.x,则安装模块,因为类型是从核心中分离出来的(连同其他一些类型)。
答案2
“Type” 是 ssh_authorized_key 资源中的一个字段。它的来源是 ssh 密钥本身的文本(~/.ssh/authorized_keys 文件)。
来自 Puppet 文档:
ssh_authorized_key { '[email protected]':
ensure => present,
user => 'nick',
type => 'ssh-rsa',
key => 'AAAAB3Nza[...]qXfdaQ==',
}
类型例如 ssh-rsa 或 ssh-dsa。
因此,您的密钥输入应如下所示:
ssh-rsa AAAAB3Nza[...]qXfdaQ== [email protected]
如果缺少第一部分“ssh-rsa”,这可能是您收到该消息的原因之一。如果第一部分存在,但它不是您的 Raspberry Pi 操作系统支持的密钥类型,这是您收到此消息的另一个原因。查看您在 Raspberry Pi 上运行的软件文档,了解支持哪种类型的密钥。