Você precisa alterar sua turma para definir, conforme a seguir, para torná-la reutilizável para outros usuários:
define accounts_global::account () {
account { $name:
ensure => present,
}
file { "/home/${name}/.ssh/config" :
require => Account[$name],
owner => $name,
group => $name,
mode => '0600',
content => template('accounts_global/user_ssh_config.erb'),
}
}
Use isso para o modelo ~/.ssh/config
ERB:
Host ssh.example.com
Port 22
User <%= @name %>
IdentityFile ~/.ssh/ssh-key
Em seguida, adicione isso ao manifesto do Puppet:
accounts_global::account { 'tharold': }
Incidentalmente, você não precisa passar o parâmetro User
em sua configuração SSH, a menos que o nome de usuário remoto seja diferente - por padrão, o SSH tenta se conectar usando o nome de usuário atual.