Tôi đang cố gắng để con rối gán các khóa ssh được ủy quyền cho người dùng ảo nhưng tôi vẫn nhận được lỗi sau:
err: Could not retrieve catalog: Could not parse for environment production: Syntax error at 'user'; expected '}' at /etc/puppet/modules/users/manifests/ssh_authorized_keys.pp:9
Tôi tin rằng cấu hình của tôi là chính xác (được liệt kê bên dưới) nhưng có lỗi cú pháp hoặc vấn đề phạm vi tôi đang thiếu? Tôi chỉ đơn giản muốn gán người dùng cho các nút và để những người dùng đó tự động cài đặt khóa ssh của họ. Có lẽ có một cách tốt hơn để làm điều này và tôi chỉ đang xem xét nó?
# /etc/puppet/modules/users/virtual.pp
class user::virtual {
@user { "user":
home => "/home/user",
ensure => "present",
groups => ["root","wheel"],
uid => "8001",
password => "SCRAMBLED",
comment => "User",
shell => "/bin/bash",
managehome => "true",
}
# /etc/puppet/modules/users/manifests/ssh_authorized_keys.pp
ssh_authorized_key { "user":
ensure => "present",
type => "ssh-dss",
key => "AAAAB....",
user => "user",
}
# /etc/puppet/modules/users/init.pp
import "users.pp"
import "ssh_authorized_keys.pp"
class user::ops inherits user::virtual {
realize(
User["user"],
)
}
# /etc/puppet/manifests/modules.pp
import "sudo"
import "users"
# /etc/puppet/manifests/nodes.pp
node basenode {
include sudo
}
node 'testbox' inherits basenode {
include user::ops
}
# /etc/puppet/manifests/site.pp
import "modules"
import "nodes"
# The filebucket option allows for file backups to the server
filebucket { main: server => 'puppet' }
# Set global defaults - including backing up all files to the main filebucket and adds a global path
File { backup => main }
Exec { path => "/usr/bin:/usr/sbin/:/bin:/sbin" }