Я использую Puppet для управления ключами SSH на всех своих устройствах, включая несколько Raspberry Pi, но только 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.
Есть идеи, почему этот тип недоступен?
Вам нужно иметь puppetlabs / sshkeys_core модуль устанавливается при использовании Puppet 6.x, поскольку тип был отделен от ядра (вместе с несколькими другими типами).
«Тип» - это поле в ресурсе ssh_authorized_key. Его источником является текст самого ключа ssh (файл ~ / .ssh / authorized_keys).
Из документации по марионетке:
ssh_authorized_key { 'nick@magpie.example.com':
ensure => present,
user => 'nick',
type => 'ssh-rsa',
key => 'AAAAB3Nza[...]qXfdaQ==',
}
Например, тип похож на ssh-rsa или ssh-dsa.
Итак, ваша ключевая запись должна выглядеть так:
ssh-rsa AAAAB3Nza[...]qXfdaQ== nick@magpie.example.com
Если первая часть «ssh-rsa» отсутствует, это может быть одной из причин, по которой вы получаете это сообщение. Если первая часть есть, но это не поддерживаемый тип ключа для вашей ОС raspberry pis, это еще одна причина, по которой вы можете получить это сообщение. Проверьте в документации по программному обеспечению, что вы используете на своем raspberry pi, чтобы узнать, какие типы ключей поддерживаются.