Version information
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x
- Puppet >= 7.0.0 < 9.0.0
- Archlinux, , , , , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'ghoneycutt-ssh', '5.1.0'
Learn more about managing modules with a PuppetfileDocumentation
puppet-module-ssh
Manage ssh client and server.
This module is based on the OpenSSH v7.0 implementation. All parameters that are described in the
man pages are available to this module with the exception of the Match parameter. Some SSH
implementations do provide extra features and use additional parameters. These deviations can
still be managed with the help of the $custom
parameter. This freetext parameter allows you to add
any lines to ssh_config and sshd_config that you wish to.
This module may be used with a simple include ::ssh
The ssh::config_entry
defined type may be used directly and is used to manage
Host entries in a personal ~/.ssh/config
file.
Table of Contents
Compatibility
This module officially supports the platforms listed in the
metadata.json
. It does not fail on unsupported platforms and has been
known to work on many, many platforms since its creation in 2010.
Known to work
- Archlinux
- Debian 10
- Debian 11
- Debian 12
- EL 7
- EL 8
- EL 9
- Ubuntu 18.04 LTS
- Ubuntu 20.04 LTS
- Ubuntu 22.04 LTS
- Ubuntu 24.04 LTS
- Solaris 10
- Solaris 11
SunSSH
If you use the Sun Solaris SSH, please keep in mind that not all parameters can be used.
Unsupported parameters for ssh_config: AddressFamily, Tunnel, TunnelDevice, PermitLocalCommand, HashKnownHosts
Unsupported parameters for sshd_config: KerberosOrLocalPasswd, KerberosTicketCleanup, KerberosGetAFSToken, TCPKeepAlive, ShowPatchLevel, MaxSessions, PermitTunnel
Parameters
A value of undef
will use the defaults specified by the module. See data/os/
for the actual
default settings for supported operating systems.
Please keep in mind that this module does not include any sanity checks. Depending on the set parameters or values and the running version of SSH the resulting configuration could stop SSH from working.
See REFERENCE.md for a list of all parameters.
Manage user's ssh_authorized_keys
The hash ssh::keys is passed to ssh_authorized_key type. Because of this, you may specify any valid parameter for ssh_authorized_key. See the Type Reference for a complete list.
Sample usage:
Push authorized key "root_for_userX" and remove key "root_for_userY" through Hiera.
ssh::keys:
root_for_userX:
ensure: present
user: root
type: dsa
key: AAAA...==
apachehup:
ensure: present
user: apachehup
type: rsa
key: 'AAAA...=='
options: 'command="/sbin/service httpd restart"'
root_for_userY:
ensure: absent
user: root
Manage config entries in a personal ssh/config file.
Ssh::Config_entry {
ensure => present,
path => '/home/jenkins/.ssh/config',
owner => 'jenkins',
group => 'jenkins',
}
ssh::config_entry { 'jenkins *':
host => '*',
lines => [
' ForwardX11 no',
' StrictHostKeyChecking no',
],
order => '10',
}
ssh::config_entry { 'jenkins github.com':
host => 'github.com',
lines => [" IdentityFile /home/jenkins/.ssh/jenkins-gihub.key"],
order => '20',
}
Manage configurations files in .d directories
SSH supports configuration files in .d directories via the include
directive. This module enables you to also manage these files. You need to set directives for the server (eg: /etc/ssh/sshd_config.d) and client (eg: /etc/ssh/ssh_config.d) part seperatly as they support different directives.
You can activate the management by ensuring $include
is defined and pass a hash with the needed SSH directives and their values.
Directives can be passed as hash via the $ssh::config_files
and $ssh::server::config_files
parameters. Directives passed as hash via lines
will be checked for correct names and values. Directives passed as array via custom
will not be checked and will be added to the configuration file. Similar to the main configuration files.
Different file permissions can be specified via owner
, group
, or mode
.
You can remove a file by setting ensure
to absent
.
Sample usage:
Manage the client configuration file /etc/ssh/ssh_config.d/50-redhat.conf with some directives and default file permissions (0644 root:root).
ssh::include: /etc/ssh/ssh_config.d/*.conf
ssh::config_files:
'50-redhat':
lines:
Match: 'final all'
Include: '/etc/crypto-policies/back-ends/openssh.config'
GSSAPIAuthentication: 'yes'
ForwardX11Trusted: 'yes'
Manage the server configuration file /etc/ssh/sshd_config.d/50-redhat.conf with some directives and default file permissions (0600 root:root).
ssh::server::include: /etc/ssh/sshd_config.d/*.conf
ssh::server::config_files:
'50-redhat':
lines:
Include: '/etc/crypto-policies/back-ends/opensshserver.config'
SyslogFacility: 'AUTHPRIV'
ChallengeResponseAuthentication: 'no'
GSSAPIAuthentication: 'yes'
GSSAPICleanupCredentials: 'no'
UsePAM: 'yes'
X11Forwarding: 'yes'
PrintMotd: 'no'
You can also specify different file permissions by setting $owner, $group, or $mode accordingly:
ssh::include: /etc/ssh/ssh_config.d/*.conf
ssh::config_files:
'50-redhat':
owner: 'name'
group: 'group'
mode: '0664'
lines:
Match: 'final all'
GSSAPIAuthentication: 'yes'
Using directives that are not supported by this module:
ssh::include: /etc/ssh/ssh_config.d/*.conf
ssh::config_files:
'50-redhat':
custom:
- 'Directive1 Value1'
- 'Directive2 Value2'
Remove the file /etc/ssh/ssh_config.d/50-redhat.conf:
ssh::include: /etc/ssh/ssh_config.d/*.conf
ssh::config_files:
'50-redhat':
ensure: 'absent'
Upgrading
The SSH module v4 was completely rewritten. In this process all parameters for the SSH configuration files have been renamed. Users that want to upgrade need to change their running configuration. To make your upgrade easier there is a list of old and new parameter names. Consult UPGRADING.md
Contributing
Please check CONTRIBUTING.md
Reference
Table of Contents
Classes
ssh
: Class to manage SSH clientssh::server
: Class to manage SSH server
Defined types
ssh::config_entry
: Create config entries in a users' ~/.ssh/configssh::config_file_client
: Create config files to be usedssh::config_file_server
: Create config files to be used
Data types
Ssh::Key::Type
: validate SSH key typesSsh::Log_level
: validate SSH log levelsSsh::Permit_root_login
: validate configuration options for permit_root_loginSsh::Ssh_Config
: ssh_config configuration file parametersSsh::Sshd_Config
: sshd_config configuration file parametersSsh::Syslog_facility
: validate syslog facilities used by SSHSsh::Yes_no
: validate SSH configuration that uses yes/no.
Classes
ssh
Notes: Match
and Host
attributes are not directly supported as multiple
match/host blocks can exist. Use the custom
parameter for that.
Parameters
The following parameters are available in the ssh
class:
config_entries
config_group
config_mode
config_owner
config_path
global_known_hosts_group
global_known_hosts_mode
global_known_hosts_owner
global_known_hosts_path
keys
manage_global_known_hosts
manage_root_ssh_config
manage_server
manage_sshkey
manage_packages
packages
packages_ensure
packages_adminfile
packages_source
purge_keys
root_ssh_config_content
config_files
host
add_keys_to_agent
address_family
batch_mode
bind_address
bind_interface
canonical_domains
canonicalize_fallback_local
canonicalize_hostname
canonicalize_max_dots
canonicalize_permitted_cnames
ca_signature_algorithms
certificate_file
check_host_ip
ciphers
clear_all_forwardings
compression
connection_attempts
connect_timeout
control_master
control_path
control_persist
dynamic_forward
enable_ssh_keysign
escape_char
exit_on_forward_failure
fingerprint_hash
fork_after_authentication
forward_agent
forward_x11
forward_x11_timeout
forward_x11_trusted
gateway_ports
global_known_hosts_file
gss_api_authentication
gss_api_delegate_credentials
hash_known_hosts
hostbased_accepted_algorithms
hostbased_authentication
host_key_algorithms
host_key_alias
hostname
identities_only
identity_agent
identity_file
ignore_unknown
include
include_dir_owner
include_dir_group
include_dir_mode
include_dir_purge
ip_qos
kbd_interactive_authentication
kbd_interactive_devices
kex_algorithms
kown_hosts_command
local_command
local_forward
log_level
log_verbose
macs
no_host_authentication_for_localhost
number_of_password_prompts
password_authentication
permit_local_command
permit_remote_open
pkcs11_provider
port
preferred_authentications
proxy_command
proxy_jump
proxy_use_fdpass
pubkey_accepted_algorithms
pubkey_authentication
rekey_limit
remote_command
remote_forward
request_tty
revoked_host_keys
security_key_provider
send_env
server_alive_count_max
server_alive_interval
session_type
set_env
stdin_null
stream_local_bind_mask
stream_local_bind_unlink
strict_host_key_checking
syslog_facility
tcp_keep_alive
tunnel
tunnel_device
update_host_keys
user
user_known_hosts_file
use_roaming
verify_host_key_dns
visual_host_key
xauth_location
custom
config_entries
Data type: Hash
Hash of configuration entries passed to ssh::config_entries define. Please check the docs for ssh::config_entries for a list and details of the parameters usable here.
Default value: {}
config_group
Data type: String[1]
User group used for ssh_config file.
Default value: 'root'
config_mode
Data type: Stdlib::Filemode
File mode used for ssh_config file.
Default value: '0644'
config_owner
Data type: String[1]
User/Owner used for ssh_config file.
Default value: 'root'
config_path
Data type: Stdlib::Absolutepath
Absolute path to ssh_config file.
Default value: '/etc/ssh/ssh_config'
global_known_hosts_group
Data type: String[1]
User group used for global used known_hosts file.
Default value: 'root'
global_known_hosts_mode
Data type: Stdlib::Filemode
File mode used for global used known_hosts file.
Default value: '0644'
global_known_hosts_owner
Data type: String[1]
User/Owner used for global used known_hosts file.
Default value: 'root'
global_known_hosts_path
Data type: Stdlib::Absolutepath
Absolute path to global used known_hosts file.
Default value: '/etc/ssh/ssh_known_hosts'
keys
Data type: Hash
Hash of keys to be added to ~/.ssh/authorized_keys for users.
Default value: {}
manage_global_known_hosts
Data type: Boolean
Boolean to choose if the global used known hosts file should be managed.
Default value: true
manage_root_ssh_config
Data type: Boolean
Boolean to choose if the ssh_config file of root should be managed.
Default value: false
manage_server
Data type: Boolean
Boolean to choose if the SSH daemon and its configuration should be managed.
Default value: true
manage_sshkey
Data type: Boolean
Boolean to choose if SSH keys should be managed. Also see $purge_keys.
Default value: true
manage_packages
Data type: Boolean
Boolean to choose if SSH client packages should be managed.
Default value: true
packages
Data type: Array[String[1]]
Installation package(s) for the SSH client.
Default value: []
packages_ensure
Data type: Variant[Enum['present', 'absent', 'purged', 'disabled', 'installed', 'latest'], String[1]]
Ensure parameter to SSH client package(s).
Default value: 'installed'
packages_adminfile
Data type: Optional[Stdlib::Absolutepath]
Path to adminfile for SSH client package(s) installation. Needed for Solaris.
Default value: undef
packages_source
Data type: Optional[Stdlib::Absolutepath]
Source to SSH client package(s). Needed for Solaris.
Default value: undef
purge_keys
Data type: Boolean
If SSH keys not managed by Puppet should get removed. Also see $manage_sshkey.
Default value: true
root_ssh_config_content
Data type: String[1]
Content of the ssh_config file of root.
Default value: "# This file is being maintained by Puppet.\n# DO NOT EDIT\n"
config_files
Data type: Hash
Hash of configuration entries passed to ssh::config_file_client define. Please check the docs for ssh::config_file_client and the type Ssh::Ssh_Config for a list and details of the parameters usable here.
Default value: {}
host
Data type: Optional[String[1]]
Value(s) passed to Host parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#Host for possible values.
Default value: undef
add_keys_to_agent
Data type: Optional[Enum['yes', 'no', 'ask', 'confirm']]
Value(s) passed to AddKeysToAgent parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#AddKeysToAgent for possible values.
Default value: undef
address_family
Data type: Optional[Enum['any', 'inet', 'inet6']]
Value(s) passed to AddressFamily parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#AddressFamily for possible values.
Default value: undef
batch_mode
Data type: Optional[Ssh::Yes_no]
Value(s) passed to BatchMode parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#BatchMode for possible values.
Default value: undef
bind_address
Data type: Optional[String[1]]
Value(s) passed to BindAddress parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#BindAddress for possible values.
Default value: undef
bind_interface
Data type: Optional[String[1]]
Value(s) passed to BindInterface parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#BindInterface for possible values.
Default value: undef
canonical_domains
Data type: Optional[Array[String[1]]]
Value(s) passed to CanonicalDomains parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#CanonicalDomains for possible values.
Default value: undef
canonicalize_fallback_local
Data type: Optional[Ssh::Yes_no]
Value(s) passed to CanonicalizeFallbackLocal parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#CanonicalizeFallbackLocal for possible values.
Default value: undef
canonicalize_hostname
Data type: Optional[Enum['yes', 'no', 'always']]
Value(s) passed to CanonicalizeHostname parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#CanonicalizeHostname for possible values.
Default value: undef
canonicalize_max_dots
Data type: Optional[Integer[0]]
Value(s) passed to CanonicalizeMaxDots parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#CanonicalizeMaxDots for possible values.
Default value: undef
canonicalize_permitted_cnames
Data type: Optional[Array[String[1]]]
Value(s) passed to CanonicalizePermittedCNAMEs parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#CanonicalizePermittedCNAMEs for possible values.
Default value: undef
ca_signature_algorithms
Data type: Optional[Array[String[1]]]
Value(s) passed to CASignatureAlgorithms parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#CASignatureAlgorithms for possible values.
Default value: undef
certificate_file
Data type: Optional[Array[String[1]]]
Value(s) passed to CertificateFile parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#CertificateFile for possible values.
Default value: undef
check_host_ip
Data type: Optional[Ssh::Yes_no]
Value(s) passed to CheckHostIP parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#CheckHostIP for possible values.
Default value: undef
ciphers
Data type: Optional[Array[String[1]]]
Value(s) passed to Ciphers parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#Ciphers for possible values.
Default value: undef
clear_all_forwardings
Data type: Optional[Ssh::Yes_no]
Value(s) passed to ClearAllForwardings parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#ClearAllForwardings for possible values.
Default value: undef
compression
Data type: Optional[Ssh::Yes_no]
Value(s) passed to Compression parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#Compression for possible values.
Default value: undef
connection_attempts
Data type: Optional[Integer[0]]
Value(s) passed to ConnectionAttempts parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#ConnectionAttempts for possible values.
Default value: undef
connect_timeout
Data type: Optional[Integer[0]]
Value(s) passed to ConnectTimeout parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#ConnectTimeout for possible values.
Default value: undef
control_master
Data type: Optional[Enum['yes', 'no', 'ask', 'auto', 'autoask']]
Value(s) passed to ControlMaster parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#ControlMaster for possible values.
Default value: undef
control_path
Data type: Optional[String[1]]
Value(s) passed to ControlPath parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#ControlPath for possible values.
Default value: undef
control_persist
Data type: Optional[String[1]]
Value(s) passed to ControlPersist parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#ControlPersist for possible values.
Default value: undef
dynamic_forward
Data type: Optional[String[1]]
Value(s) passed to DynamicForward parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#DynamicForward for possible values.
Default value: undef
enable_ssh_keysign
Data type: Optional[Ssh::Yes_no]
Value(s) passed to EnableSSHKeysign parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#EnableSSHKeysign for possible values.
Default value: undef
escape_char
Data type: Optional[String[1]]
Value(s) passed to EscapeChar parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#EscapeChar for possible values.
Default value: undef
exit_on_forward_failure
Data type: Optional[Ssh::Yes_no]
Value(s) passed to ExitOnForwardFailure parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#ExitOnForwardFailure for possible values.
Default value: undef
fingerprint_hash
Data type: Optional[Enum['sha256', 'md5']]
Value(s) passed to FingerprintHash parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#FingerprintHash for possible values.
Default value: undef
fork_after_authentication
Data type: Optional[Ssh::Yes_no]
Value(s) passed to ForkAfterAuthentication parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#ForkAfterAuthentication for possible values.
Default value: undef
forward_agent
Data type: Optional[Ssh::Yes_no]
Value(s) passed to ForwardAgent parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#ForwardAgent for possible values.
Default value: undef
forward_x11
Data type: Optional[Ssh::Yes_no]
Value(s) passed to ForwardX11 parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#ForwardX11 for possible values.
Default value: undef
forward_x11_timeout
Data type: Variant[Undef, String[1], Integer[0]]
Value(s) passed to ForwardX11Timeout parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#ForwardX11Timeout for possible values.
Default value: undef
forward_x11_trusted
Data type: Optional[Ssh::Yes_no]
Value(s) passed to ForwardX11Trusted parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#ForwardX11Trusted for possible values.
Default value: undef
gateway_ports
Data type: Optional[Ssh::Yes_no]
Value(s) passed to GatewayPorts parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#GatewayPorts for possible values.
Default value: undef
global_known_hosts_file
Data type: Optional[Array[String[1]]]
Value(s) passed to GlobalKnownHostsFile parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#GlobalKnownHostsFile for possible values.
Default value: undef
gss_api_authentication
Data type: Optional[Ssh::Yes_no]
Value(s) passed to GSSAPIAuthentication parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#GSSAPIAuthentication for possible values.
Default value: undef
gss_api_delegate_credentials
Data type: Optional[Ssh::Yes_no]
Value(s) passed to GSSAPIDelegateCredentials parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#GSSAPIDelegateCredentials for possible values.
Default value: undef
hash_known_hosts
Data type: Optional[Ssh::Yes_no]
Value(s) passed to HashKnownHosts parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#HashKnownHosts for possible values.
Default value: undef
hostbased_accepted_algorithms
Data type: Optional[Array[String[1]]]
Value(s) passed to HostbasedAcceptedAlgorithms parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#HostbasedAcceptedAlgorithms for possible values.
Default value: undef
hostbased_authentication
Data type: Optional[Ssh::Yes_no]
Value(s) passed to HostbasedAuthentication parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#HostbasedAuthentication for possible values.
Default value: undef
host_key_algorithms
Data type: Optional[Array[String[1]]]
Value(s) passed to HostKeyAlgorithms parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#HostKeyAlgorithms for possible values.
Default value: undef
host_key_alias
Data type: Optional[String[1]]
Value(s) passed to HostKeyAlias parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#HostKeyAlias for possible values.
Default value: undef
hostname
Data type: Optional[String[1]]
Value(s) passed to Hostname parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#Hostname for possible values.
Default value: undef
identities_only
Data type: Optional[Ssh::Yes_no]
Value(s) passed to IdentitiesOnly parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#IdentitiesOnly for possible values.
Default value: undef
identity_agent
Data type: Optional[String[1]]
Value(s) passed to IdentityAgent parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#IdentityAgent for possible values.
Default value: undef
identity_file
Data type: Optional[Array[String[1]]]
Value(s) passed to IdentityFile parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#IdentityFile for possible values.
Default value: undef
ignore_unknown
Data type: Optional[Array[String[1]]]
Value(s) passed to IgnoreUnknown parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#IgnoreUnknown for possible values.
Default value: undef
include
Data type: Optional[Stdlib::Absolutepath]
Value(s) passed to Include parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#Include for possible values.
Default value: undef
include_dir_owner
Data type: String[1]
The owner of the include directory
Default value: 'root'
include_dir_group
Data type: String[1]
The group of the include directory
Default value: 'root'
include_dir_mode
Data type: Stdlib::Filemode
The mode of the include directory
Default value: '0755'
include_dir_purge
Data type: Boolean
Sets whether to purge the include_dir of unmanaged files
Default value: true
ip_qos
Data type: Optional[String[1]]
Value(s) passed to IPQoS parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#IPQoS for possible values.
Default value: undef
kbd_interactive_authentication
Data type: Optional[Ssh::Yes_no]
Value(s) passed to KbdInteractiveAuthentication parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#KbdInteractiveAuthentication for possible values.
Default value: undef
kbd_interactive_devices
Data type: Optional[Array[String[1]]]
Value(s) passed to KbdInteractiveDevices parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#KbdInteractiveDevices for possible values.
Default value: undef
kex_algorithms
Data type: Optional[Array[String[1]]]
Value(s) passed to KexAlgorithms parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#KexAlgorithms for possible values.
Default value: undef
kown_hosts_command
Data type: Optional[String[1]]
Value(s) passed to KnownHostsCommand parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#KnownHostsCommand for possible values.
Default value: undef
local_command
Data type: Optional[String[1]]
Value(s) passed to LocalCommand parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#LocalCommand for possible values.
Default value: undef
local_forward
Data type: Optional[String[1]]
Value(s) passed to LocalForward parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#LocalForward for possible values.
Default value: undef
log_level
Data type: Optional[Ssh::Log_level]
Value(s) passed to LogLevel parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#LogLevel for possible values.
Default value: undef
log_verbose
Data type: Optional[String[1]]
Value(s) passed to LogVerbose parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#LogVerbose for possible values.
Default value: undef
macs
Data type: Optional[Array[String[1]]]
Value(s) passed to MACs parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#MACs for possible values.
Default value: undef
no_host_authentication_for_localhost
Data type: Optional[Ssh::Yes_no]
Value(s) passed to NoHostAuthenticationForLocalhost parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#NoHostAuthenticationForLocalhost for possible values.
Default value: undef
number_of_password_prompts
Data type: Optional[Integer]
Value(s) passed to NumberOfPasswordPrompts parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#NumberOfPasswordPrompts for possible values.
Default value: undef
password_authentication
Data type: Optional[Ssh::Yes_no]
Value(s) passed to PasswordAuthentication parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#PasswordAuthentication for possible values.
Default value: undef
permit_local_command
Data type: Optional[Ssh::Yes_no]
Value(s) passed to PermitLocalCommand parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#PermitLocalCommand for possible values.
Default value: undef
permit_remote_open
Data type: Optional[Array[String[1]]]
Value(s) passed to PermitRemoteOpen parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#PermitRemoteOpen for possible values.
Default value: undef
pkcs11_provider
Data type: Optional[String[1]]
Value(s) passed to PKCS11Provider parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#PKCS11Provider for possible values.
Default value: undef
port
Data type: Optional[Stdlib::Port]
Value(s) passed to Port parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#Port for possible values.
Default value: undef
preferred_authentications
Data type: Optional[Array[String[1]]]
Value(s) passed to PreferredAuthentications parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#PreferredAuthentications for possible values.
Default value: undef
proxy_command
Data type: Optional[String[1]]
Value(s) passed to ProxyCommand parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#ProxyCommand for possible values.
Default value: undef
proxy_jump
Data type: Optional[Array[String[1]]]
Value(s) passed to ProxyJump parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#ProxyJump for possible values.
Default value: undef
proxy_use_fdpass
Data type: Optional[Ssh::Yes_no]
Value(s) passed to ProxyUseFdpass parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#ProxyUseFdpass for possible values.
Default value: undef
pubkey_accepted_algorithms
Data type: Optional[Array[String[1]]]
Value(s) passed to PubkeyAcceptedAlgorithms parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#PubkeyAcceptedAlgorithms for possible values.
Default value: undef
pubkey_authentication
Data type: Optional[Ssh::Yes_no]
Value(s) passed to PubkeyAuthentication parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#PubkeyAuthentication for possible values.
Default value: undef
rekey_limit
Data type: Optional[String[1]]
Value(s) passed to RekeyLimit parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#RekeyLimit for possible values.
Default value: undef
remote_command
Data type: Optional[String[1]]
Value(s) passed to RemoteCommand parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#RemoteCommand for possible values.
Default value: undef
remote_forward
Data type: Optional[String[1]]
Value(s) passed to RemoteForward parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#RemoteForward for possible values.
Default value: undef
request_tty
Data type: Optional[Enum['no', 'yes', 'force', 'auto']]
Value(s) passed to RequestTTY parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#RequestTTY for possible values.
Default value: undef
revoked_host_keys
Data type: Optional[String[1]]
Value(s) passed to RevokedHostKeys parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#RevokedHostKeys for possible values.
Default value: undef
security_key_provider
Data type: Optional[String[1]]
Value(s) passed to SecurityKeyProvider parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#SecurityKeyProvider for possible values.
Default value: undef
send_env
Data type: Optional[Array[String[1]]]
Value(s) passed to SendEnv parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#SendEnv for possible values.
Default value: undef
server_alive_count_max
Data type: Variant[Undef, String[1], Integer[0]]
Value(s) passed to ServerAliveCountMax parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#ServerAliveCountMax for possible values.
Default value: undef
server_alive_interval
Data type: Variant[Undef, String[1], Integer[0]]
Value(s) passed to ServerAliveInterval parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#ServerAliveInterval for possible values.
Default value: undef
session_type
Data type: Optional[Enum['default', 'none', 'subsystem']]
Value(s) passed to SessionType parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#SessionType for possible values.
Default value: undef
set_env
Data type: Optional[Array[String[1]]]
Value(s) passed to SetEnv parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#SetEnv for possible values.
Default value: undef
stdin_null
Data type: Optional[Ssh::Yes_no]
Value(s) passed to StdinNull parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#StdinNull for possible values.
Default value: undef
stream_local_bind_mask
Data type: Optional[Pattern[/^[0-7]{4}$/]]
Value(s) passed to StreamLocalBindMask parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#StreamLocalBindMask for possible values.
Default value: undef
stream_local_bind_unlink
Data type: Optional[Ssh::Yes_no]
Value(s) passed to StreamLocalBindUnlink parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#StreamLocalBindUnlink for possible values.
Default value: undef
strict_host_key_checking
Data type: Optional[Enum['yes', 'no', 'accept-new', 'off', 'ask']]
Value(s) passed to StrictHostKeyChecking parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#StrictHostKeyChecking for possible values.
Default value: undef
syslog_facility
Data type: Optional[Ssh::Syslog_facility]
Value(s) passed to SyslogFacility parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#SyslogFacility for possible values.
Default value: undef
tcp_keep_alive
Data type: Optional[Ssh::Yes_no]
Value(s) passed to TCPKeepAlive parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#TCPKeepAlive for possible values.
Default value: undef
tunnel
Data type: Optional[Enum['yes', 'no', 'point-to-point', 'ethernet']]
Value(s) passed to Tunnel parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#Tunnel for possible values.
Default value: undef
tunnel_device
Data type: Optional[String[1]]
Value(s) passed to TunnelDevice parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#TunnelDevice for possible values.
Default value: undef
update_host_keys
Data type: Optional[Enum['yes', 'no', 'ask']]
Value(s) passed to UpdateHostKeys parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#UpdateHostKeys for possible values.
Default value: undef
user
Data type: Optional[String[1]]
Value(s) passed to User parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#User for possible values.
Default value: undef
user_known_hosts_file
Data type: Optional[Array[String[1]]]
Value(s) passed to UserKnownHostsFile parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#UserKnownHostsFile for possible values.
Default value: undef
use_roaming
Data type: Optional[Ssh::Yes_no]
Value(s) passed to the UseRoaming parameter in ssh_config. Unused if empty.
Default value: undef
verify_host_key_dns
Data type: Optional[Enum['yes', 'no', 'ask']]
Value(s) passed to VerifyHostKeyDNS parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#VerifyHostKeyDNS for possible values.
Default value: undef
visual_host_key
Data type: Optional[Ssh::Yes_no]
Value(s) passed to VisualHostKey parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#VisualHostKey for possible values.
Default value: undef
xauth_location
Data type: Optional[String[1]]
Value(s) passed to XAuthLocation parameter in ssh_config. Unused if empty. Check https://man.openbsd.org/ssh_config#XAuthLocation for possible values.
Default value: undef
custom
Data type: Optional[Array[String[1]]]
Array of custom lines to be added to client configuration file ssh_config. Uses one array item per line to be added.
Default value: undef
ssh::server
Notes: Match
attribute is not directly supported as multiple match blocks can
exist. Use the custom
parameter for that.
Parameters
The following parameters are available in the ssh::server
class:
banner_content
banner_group
banner_mode
banner_owner
banner_path
config_group
config_mode
config_owner
config_path
manage_service
manage_packages
packages
packages_ensure
packages_adminfile
packages_source
service_enable
service_ensure
service_hasrestart
service_hasstatus
config_files
service_name
accept_env
address_family
allow_agent_forwarding
allow_groups
allow_stream_local_forwarding
allow_tcp_forwarding
allow_users
authentication_methods
authorized_keys_command
authorized_keys_command_user
authorized_keys_file
authorized_principals_command
authorized_principals_command_user
authorized_principals_file
banner
ca_signature_algorithms
challenge_response_authentication
chroot_directory
ciphers
client_alive_count_max
client_alive_interval
compression
deny_groups
deny_users
disable_forwarding
expose_auth_info
fingerprint_hash
force_command
gateway_ports
gss_api_authentication
gss_api_cleanup_credentials
gss_api_strict_acceptor_check
hostbased_accepted_algorithms
hostbased_authentication
hostbased_uses_name_from_packet_only
host_certificate
host_key
host_key_agent
host_key_algorithms
ignore_rhosts
ignore_user_known_hosts
include
include_dir_owner
include_dir_group
include_dir_mode
include_dir_purge
ip_qos
kbd_interactive_authentication
kerberos_authentication
kerberos_get_afs_token
kerberos_or_local_passwd
kerberos_ticket_cleanup
kex_algorithms
listen_address
login_grace_time
log_level
log_verbose
macs
max_auth_tries
max_sessions
max_startups
moduli_file
password_authentication
permit_empty_passwords
permit_listen
permit_open
permit_root_login
permit_tty
permit_tunnel
permit_user_environment
permit_user_rc
per_source_max_startups
per_source_net_block_size
pid_file
port
print_last_log
print_motd
pubkey_accepted_algorithms
pubkey_auth_options
pubkey_authentication
rekey_limit
revoked_keys
rdomain
security_key_provider
set_env
stream_local_bind_mask
stream_local_bind_unlink
strict_modes
subsystem
syslog_facility
tcp_keep_alive
trusted_user_ca_keys
use_dns
use_pam
version_addendum
x11_display_offset
x11_forwarding
x11_use_localhost
xauth_location
custom
banner_content
Data type: Optional[String[1]]
Content of SSHd banner file.
Default value: undef
banner_group
Data type: String[1]
User group used for SSHd banner file.
Default value: 'root'
banner_mode
Data type: Stdlib::Filemode
File mode used for SSHd banner file.
Default value: '0644'
banner_owner
Data type: String[1]
User/Owner used for SSHd banner file.
Default value: 'root'
banner_path
Data type: Stdlib::Absolutepath
Absolute path to SSHd banner file.
Default value: '/etc/sshd_banner'
config_group
Data type: String[1]
User group used for sshd_config file.
Default value: 'root'
config_mode
Data type: Stdlib::Filemode
File mode used for sshd_config file.
Default value: '0600'
config_owner
Data type: String[1]
User/Owner used for sshd_config file.
Default value: 'root'
config_path
Data type: Stdlib::Absolutepath
Absolute path to sshd_config file.
Default value: '/etc/ssh/sshd_config'
manage_service
Data type: Boolean
Boolean to choose if the SSH daemon should be managed.
Default value: true
manage_packages
Data type: Boolean
Boolean to choose if SSH client packages should be managed.
Default value: true
packages
Data type: Array[String[1]]
Installation package(s) for the SSH server. Leave empty if the client package(s) also include the server binaries (eg: Suse SLES and SLED).
Default value: []
packages_ensure
Data type: Variant[Enum['present', 'absent', 'purged', 'disabled', 'installed', 'latest'], String[1]]
Ensure parameter to SSH server package(s).
Default value: 'installed'
packages_adminfile
Data type: Optional[Stdlib::Absolutepath]
Path to adminfile for SSH server package(s) installation. Needed for Solaris.
Default value: undef
packages_source
Data type: Optional[Stdlib::Absolutepath]
Source to SSH server package(s). Needed for Solaris.
Default value: undef
service_enable
Data type: Boolean
enable attribure for SSH daemon.
Default value: true
service_ensure
Data type: Stdlib::Ensure::Service
ensure attribute for SSH daemon.
Default value: 'running'
service_hasrestart
Data type: Boolean
hasrestart attribute for SSH daemon.
Default value: true
service_hasstatus
Data type: Boolean
hasstatus attribute for SSH daemon.
Default value: true
config_files
Data type: Hash
Hash of configuration entries passed to ssh::config_file_server define. Please check the docs for ssh::config_file_client and the type Ssh::Sshd_Config for a list and details of the parameters usable here.
Default value: {}
service_name
Data type: String[1]
Name of the SSH daemon.
Default value: 'sshd'
accept_env
Data type: Optional[Array[String[1]]]
Value(s) passed to AcceptEnv parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#AcceptEnv for possible values.
Default value: undef
address_family
Data type: Optional[Enum['any', 'inet', 'inet6']]
Value(s) passed to AddressFamily parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#AddressFamily for possible values.
Default value: undef
allow_agent_forwarding
Data type: Optional[Ssh::Yes_no]
Value(s) passed to AllowAgentForwarding parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#AllowAgentForwarding for possible values.
Default value: undef
allow_groups
Data type: Optional[Array[String[1]]]
Value(s) passed to AllowGroups parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#AllowGroups for possible values.
Default value: undef
allow_stream_local_forwarding
Data type: Optional[Enum['yes', 'all', 'no', 'local', 'remote']]
Value(s) passed to AllowStreamLocalForwarding parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#AllowStreamLocalForwarding for possible values.
Default value: undef
allow_tcp_forwarding
Data type: Optional[Enum['yes', 'no', 'local', 'remote']]
Value(s) passed to AllowTcpForwarding parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#AllowTcpForwarding for possible values.
Default value: undef
allow_users
Data type: Optional[Array[String[1]]]
Value(s) passed to AllowUsers parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#AllowUsers for possible values.
Default value: undef
authentication_methods
Data type: Optional[Array[String[1]]]
Value(s) passed to AuthenticationMethods parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#AuthenticationMethods for possible values.
Default value: undef
authorized_keys_command
Data type: Optional[String[1]]
Value(s) passed to AuthorizedKeysCommand parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#AuthorizedKeysCommand for possible values.
Default value: undef
authorized_keys_command_user
Data type: Optional[String[1]]
Value(s) passed to AuthorizedKeysCommandUser parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#AuthorizedKeysCommandUser for possible values.
Default value: undef
authorized_keys_file
Data type: Optional[Array[String[1]]]
Value(s) passed to AuthorizedKeysFile parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#AuthorizedKeysFile for possible values.
Default value: undef
authorized_principals_command
Data type: Optional[String[1]]
Value(s) passed to AuthorizedPrincipalsCommand parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#AuthorizedPrincipalsCommand for possible values.
Default value: undef
authorized_principals_command_user
Data type: Optional[String[1]]
Value(s) passed to AuthorizedPrincipalsCommandUser parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#AuthorizedPrincipalsCommandUser for possible values.
Default value: undef
authorized_principals_file
Data type: Optional[String[1]]
Value(s) passed to AuthorizedPrincipalsFile parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#AuthorizedPrincipalsFile for possible values.
Default value: undef
banner
Data type: Optional[String[1]]
Value(s) passed to Banner parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#Banner for possible values.
Default value: undef
ca_signature_algorithms
Data type: Optional[Array[String[1]]]
Value(s) passed to CASignatureAlgorithms parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#CASignatureAlgorithms for possible values.
Default value: undef
challenge_response_authentication
Data type: Optional[Ssh::Yes_no]
Value(s) passed to ChallengeResponseAuthentication parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#KbdInteractiveAuthentication for possible values.
Default value: undef
chroot_directory
Data type: Optional[String[1]]
Value(s) passed to ChrootDirectory parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#ChrootDirectory for possible values.
Default value: undef
ciphers
Data type: Optional[Array[String[1]]]
Value(s) passed to Ciphers parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#Ciphers for possible values.
Default value: undef
client_alive_count_max
Data type: Optional[Integer[0]]
Value(s) passed to ClientAliveCountMax parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#ClientAliveCountMax for possible values.
Default value: undef
client_alive_interval
Data type: Optional[Integer[0]]
Value(s) passed to ClientAliveInterval parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#ClientAliveInterval for possible values.
Default value: undef
compression
Data type: Optional[Enum['yes', 'delayed', 'no']]
Value(s) passed to Compression parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#Compression for possible values.
Default value: undef
deny_groups
Data type: Optional[Array[String[1]]]
Value(s) passed to DenyGroups parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#DenyGroups for possible values.
Default value: undef
deny_users
Data type: Optional[Array[String[1]]]
Value(s) passed to DenyUsers parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#DenyUsers for possible values.
Default value: undef
disable_forwarding
Data type: Optional[Ssh::Yes_no]
Value(s) passed to DisableForwarding parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#DisableForwarding for possible values.
Default value: undef
expose_auth_info
Data type: Optional[Ssh::Yes_no]
Value(s) passed to ExposeAuthInfo parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#ExposeAuthInfo for possible values.
Default value: undef
fingerprint_hash
Data type: Optional[Enum['md5', 'sha256']]
Value(s) passed to FingerprintHash parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#FingerprintHash for possible values.
Default value: undef
force_command
Data type: Optional[String[1]]
Value(s) passed to ForceCommand parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#ForceCommand for possible values.
Default value: undef
gateway_ports
Data type: Optional[Enum['no', 'yes', 'clientspecified']]
Value(s) passed to GatewayPorts parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#GatewayPorts for possible values.
Default value: undef
gss_api_authentication
Data type: Optional[Ssh::Yes_no]
Value(s) passed to GSSAPIAuthentication parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#GSSAPIAuthentication for possible values.
Default value: undef
gss_api_cleanup_credentials
Data type: Optional[Ssh::Yes_no]
Value(s) passed to GSSAPICleanupCredentials parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#GSSAPICleanupCredentials for possible values.
Default value: undef
gss_api_strict_acceptor_check
Data type: Optional[Ssh::Yes_no]
Value(s) passed to GSSAPIStrictAcceptorCheck parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#GSSAPIStrictAcceptorCheck for possible values.
Default value: undef
hostbased_accepted_algorithms
Data type: Optional[Array[String[1]]]
Value(s) passed to HostbasedAcceptedAlgorithms parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#HostbasedAcceptedAlgorithms for possible values.
Default value: undef
hostbased_authentication
Data type: Optional[Ssh::Yes_no]
Value(s) passed to HostbasedAuthentication parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#HostbasedAuthentication for possible values.
Default value: undef
hostbased_uses_name_from_packet_only
Data type: Optional[Ssh::Yes_no]
Value(s) passed to HostbasedUsesNameFromPacketOnly parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#HostbasedUsesNameFromPacketOnly for possible values.
Default value: undef
host_certificate
Data type: Optional[Array[String[1]]]
Value(s) passed to HostCertificate parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#HostCertificate for possible values.
Default value: undef
host_key
Data type: Optional[Array[String[1]]]
Value(s) passed to HostKey parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#HostKey for possible values.
Default value: undef
host_key_agent
Data type: Optional[String[1]]
Value(s) passed to HostKeyAgent parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#HostKeyAgent for possible values.
Default value: undef
host_key_algorithms
Data type: Optional[Array[String[1]]]
Value(s) passed to HostKeyAlgorithms parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#HostKeyAlgorithms for possible values.
Default value: undef
ignore_rhosts
Data type: Optional[Ssh::Yes_no]
Value(s) passed to IgnoreRhosts parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#IgnoreRhosts for possible values.
Default value: undef
ignore_user_known_hosts
Data type: Optional[Ssh::Yes_no]
Value(s) passed to IgnoreUserKnownHosts parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#IgnoreUserKnownHosts for possible values.
Default value: undef
include
Data type: Optional[Stdlib::Absolutepath]
Value(s) passed to Include parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#Include for possible values.
Default value: undef
include_dir_owner
Data type: String[1]
The owner of the include directory
Default value: 'root'
include_dir_group
Data type: String[1]
The group of the include directory
Default value: 'root'
include_dir_mode
Data type: Stdlib::Filemode
The mode of the include directory
Default value: '0700'
include_dir_purge
Data type: Boolean
Sets whether to purge the include_dir of unmanaged files
Default value: true
ip_qos
Data type: Optional[String[1]]
Value(s) passed to IPQoS parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#IPQoS for possible values.
Default value: undef
kbd_interactive_authentication
Data type: Optional[Ssh::Yes_no]
Value(s) passed to KbdInteractiveAuthentication parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#KbdInteractiveAuthentication for possible values.
Default value: undef
kerberos_authentication
Data type: Optional[Ssh::Yes_no]
Value(s) passed to KerberosAuthentication parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#KerberosAuthentication for possible values.
Default value: undef
kerberos_get_afs_token
Data type: Optional[Ssh::Yes_no]
Value(s) passed to KerberosGetAFSToken parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#KerberosGetAFSToken for possible values.
Default value: undef
kerberos_or_local_passwd
Data type: Optional[Ssh::Yes_no]
Value(s) passed to KerberosOrLocalPasswd parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#KerberosOrLocalPasswd for possible values.
Default value: undef
kerberos_ticket_cleanup
Data type: Optional[Ssh::Yes_no]
Value(s) passed to KerberosTicketCleanup parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#KerberosTicketCleanup for possible values.
Default value: undef
kex_algorithms
Data type: Optional[Array[String[1]]]
Value(s) passed to KexAlgorithms parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#KexAlgorithms for possible values.
Default value: undef
listen_address
Data type: Optional[Array[String[1]]]
Value(s) passed to ListenAddress parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#ListenAddress for possible values.
Default value: undef
login_grace_time
Data type: Optional[Integer[0]]
Value(s) passed to LoginGraceTime parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#LoginGraceTime for possible values.
Default value: undef
log_level
Data type: Optional[Ssh::Log_level]
Value(s) passed to LogLevel parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#LogLevel for possible values.
Default value: undef
log_verbose
Data type: Optional[String[1]]
Value(s) passed to LogVerbose parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#LogVerbose for possible values.
Default value: undef
macs
Data type: Optional[Array[String[1]]]
Value(s) passed to MACs parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#MACs for possible values.
Default value: undef
max_auth_tries
Data type: Optional[Integer[2]]
Value(s) passed to MaxAuthTries parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#MaxAuthTries for possible values.
Default value: undef
max_sessions
Data type: Optional[Integer[0]]
Value(s) passed to MaxSessions parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#MaxSessions for possible values.
Default value: undef
max_startups
Data type: Optional[String[1]]
Value(s) passed to MaxStartups parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#MaxStartups for possible values.
Default value: undef
moduli_file
Data type: Optional[Stdlib::Absolutepath]
Value(s) passed to ModuliFile parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#ModuliFile for possible values.
Default value: undef
password_authentication
Data type: Optional[Ssh::Yes_no]
Value(s) passed to PasswordAuthentication parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#PasswordAuthentication for possible values.
Default value: undef
permit_empty_passwords
Data type: Optional[Ssh::Yes_no]
Value(s) passed to PermitEmptyPasswords parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#PermitEmptyPasswords for possible values.
Default value: undef
permit_listen
Data type: Optional[Array[String[1]]]
Value(s) passed to PermitListen parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#PermitListen for possible values.
Default value: undef
permit_open
Data type: Optional[Array[String[1]]]
Value(s) passed to PermitOpen parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#PermitOpen for possible values.
Default value: undef
permit_root_login
Data type: Optional[Ssh::Permit_root_login]
Value(s) passed to PermitRootLogin parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#PermitRootLogin for possible values.
Default value: undef
permit_tty
Data type: Optional[Ssh::Yes_no]
Value(s) passed to PermitTTY parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#PermitTTY for possible values.
Default value: undef
permit_tunnel
Data type: Optional[Enum['yes', 'point-to-point', 'ethernet', 'no']]
Value(s) passed to PermitTunnel parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#PermitTunnel for possible values.
Default value: undef
permit_user_environment
Data type: Optional[String[1]]
Value(s) passed to PermitUserEnvironment parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#PermitUserEnvironment for possible values.
Default value: undef
permit_user_rc
Data type: Optional[Ssh::Yes_no]
Value(s) passed to PermitUserRC parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#PermitUserRC for possible values.
Default value: undef
per_source_max_startups
Data type: Optional[String[1]]
Value(s) passed to PerSourceMaxStartups parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#PerSourceMaxStartups for possible values.
Default value: undef
per_source_net_block_size
Data type: Optional[String[1]]
Value(s) passed to PerSourceNetBlockSize parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#PerSourceNetBlockSize for possible values.
Default value: undef
pid_file
Data type: Optional[String[1]]
Value(s) passed to PidFile parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#PidFile for possible values.
Default value: undef
port
Data type: Optional[Array[Stdlib::Port]]
Value(s) passed to Port parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#Port for possible values.
Default value: undef
print_last_log
Data type: Optional[Ssh::Yes_no]
Value(s) passed to PrintLastLog parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#PrintLastLog for possible values.
Default value: undef
print_motd
Data type: Optional[Ssh::Yes_no]
Value(s) passed to PrintMotd parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#PrintMotd for possible values.
Default value: undef
pubkey_accepted_algorithms
Data type: Optional[Array[String[1]]]
Value(s) passed to PubkeyAcceptedAlgorithms parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#PubkeyAcceptedAlgorithms for possible values.
Default value: undef
pubkey_auth_options
Data type: Optional[Enum['none', 'touch-required', 'verify-required']]
Value(s) passed to PubkeyAuthOptions parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#PubkeyAuthOptions for possible values.
Default value: undef
pubkey_authentication
Data type: Optional[Ssh::Yes_no]
Value(s) passed to PubkeyAuthentication parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#PubkeyAuthentication for possible values.
Default value: undef
rekey_limit
Data type: Optional[String[1]]
Value(s) passed to RekeyLimit parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#RekeyLimit for possible values.
Default value: undef
revoked_keys
Data type: Optional[String[1]]
Value(s) passed to RevokedKeys parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#RevokedKeys for possible values.
Default value: undef
rdomain
Data type: Optional[String[1]]
Value(s) passed to RDomain parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#RDomain for possible values.
Default value: undef
security_key_provider
Data type: Optional[Stdlib::Absolutepath]
Value(s) passed to SecurityKeyProvider parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#SecurityKeyProvider for possible values.
Default value: undef
set_env
Data type: Optional[Array[String[1]]]
Value(s) passed to SetEnv parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#SetEnv for possible values.
Default value: undef
stream_local_bind_mask
Data type: Optional[Pattern[/^[0-7]{4}$/]]
Value(s) passed to StreamLocalBindMask parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#StreamLocalBindMask for possible values.
Default value: undef
stream_local_bind_unlink
Data type: Optional[Ssh::Yes_no]
Value(s) passed to StreamLocalBindUnlink parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#StreamLocalBindUnlink for possible values.
Default value: undef
strict_modes
Data type: Optional[Ssh::Yes_no]
Value(s) passed to StrictModes parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#StrictModes for possible values.
Default value: undef
subsystem
Data type: Optional[String[1]]
Value(s) passed to Subsystem parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#Subsystem for possible values.
Default value: undef
syslog_facility
Data type: Optional[Ssh::Syslog_facility]
Value(s) passed to SyslogFacility parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#SyslogFacility for possible values.
Default value: undef
tcp_keep_alive
Data type: Optional[Ssh::Yes_no]
Value(s) passed to TCPKeepAlive parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#TCPKeepAlive for possible values.
Default value: undef
trusted_user_ca_keys
Data type: Optional[String[1]]
Value(s) passed to TrustedUserCAKeys parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#TrustedUserCAKeys for possible values.
Default value: undef
use_dns
Data type: Optional[Ssh::Yes_no]
Value(s) passed to UseDNS parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#UseDNS for possible values.
Default value: undef
use_pam
Data type: Optional[Ssh::Yes_no]
Value(s) passed to UsePAM parameter in sshd_config. Unused if empty. Possible values are 'yes' and 'no'. There is no mentioning of this parameter in the current man pages of OpenSSH v7. But it is mentioned in the release notes of OpenSSH v8. https://www.openssh.com/txt/release-8.0
Default value: undef
version_addendum
Data type: Optional[String[1]]
Value(s) passed to VersionAddendum parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#VersionAddendum for possible values.
Default value: undef
x11_display_offset
Data type: Optional[Integer[0]]
Value(s) passed to X11DisplayOffset parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#X11DisplayOffset for possible values.
Default value: undef
x11_forwarding
Data type: Optional[Ssh::Yes_no]
Value(s) passed to X11Forwarding parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#X11Forwarding for possible values.
Default value: undef
x11_use_localhost
Data type: Optional[Ssh::Yes_no]
Value(s) passed to X11UseLocalhost parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#X11UseLocalhost for possible values.
Default value: undef
xauth_location
Data type: Optional[String[1]]
Value(s) passed to XAuthLocation parameter in sshd_config. Unused if empty. Check https://man.openbsd.org/sshd_config#XAuthLocation for possible values.
Default value: undef
custom
Data type: Optional[Array[String[1]]]
Array of custom lines to be added to server configuration file sshd_config. Uses one array item per line to be added.
Default value: undef
Defined types
ssh::config_entry
Manage an entry in ~/.ssh/config for a particular user. Lines model the lines in each Host block.
Parameters
The following parameters are available in the ssh::config_entry
defined type:
ensure
Data type: Enum['present','absent']
ensure attribute for entry.
Default value: 'present'
group
Data type: String[1]
User group used for the generated ssh/config file.
host
Data type: String[1]
Host this generated ssh/config file is used for.
lines
Data type: Array[String]
Lines to be added tp ssh/config file.
Default value: []
order
Data type: Integer[0]
Order of entries in the ssh/config file used for concatenation.
Default value: 10
owner
Data type: String[1]
User/Owner used for the generated ssh/config file.
path
Data type: Stdlib::Absolutepath
Absolute path used for the generated ssh/config file.
ssh::config_file_client
Manage an entry in ~/.ssh/config for a particular user. Lines model the lines in each Host block.
Parameters
The following parameters are available in the ssh::config_file_client
defined type:
owner
Data type: String[1]
User/Owner used for the generated ssh/config file.
Default value: 'root'
group
Data type: String[1]
User group used for the generated ssh/config file.
Default value: 'root'
mode
Data type: Stdlib::Filemode
File mode used for the generated ssh/config file.
Default value: '0644'
ensure
Data type: Enum['present','absent']
ensure attribute for entry.
Default value: 'present'
lines
Data type: Ssh::Ssh_Config
Lines to be added tp ssh/config file. These lines will be verified for valid directive names and values.
Default value: {}
custom
Data type: Array
Lines to be added tp ssh/config file. These lines will not be verified and can be used to add future and past directives.
Default value: []
ssh::config_file_server
Manage an entry in ~/.ssh/config for a particular user. Lines model the lines in each Host block.
Parameters
The following parameters are available in the ssh::config_file_server
defined type:
owner
Data type: String[1]
User/Owner used for the generated ssh/config file.
Default value: 'root'
group
Data type: String[1]
User group used for the generated ssh/config file.
Default value: 'root'
mode
Data type: Stdlib::Filemode
File mode used for the generated ssh/config file.
Default value: '0600'
ensure
Data type: Enum['present','absent']
ensure attribute for entry.
Default value: 'present'
lines
Data type: Ssh::Sshd_Config
Lines to be added tp ssh/config file. These lines will be verified for valid directive names and values.
Default value: {}
custom
Data type: Array
Lines to be added tp ssh/config file. These lines will not be verified and can be used to add future and past directives.
Default value: []
Data types
Ssh::Key::Type
From https://github.com/puppetlabs/puppetlabs-sshkeys_core/blob/master/lib/puppet/type/sshkey.rb v1.0.2
Alias of Enum['ssh-dss', 'ssh-ed25519', 'ssh-rsa', 'ecdsa-sha2-nistp256', 'ecdsa-sha2-nistp384', 'ecdsa-sha2-nistp521', 'ed25519', 'rsa', 'dsa']
Ssh::Log_level
validate SSH log levels
Alias of Enum['QUIET', 'FATAL', 'ERROR', 'INFO', 'VERBOSE', 'DEBUG', 'DEBUG1', 'DEBUG2', 'DEBUG3']
Ssh::Permit_root_login
'without-password' is a deprecated alias for 'prohibit-password'
Alias of Enum['yes', 'prohibit-password', 'without-password', 'forced-commands-only', 'no']
Ssh::Ssh_Config
ssh_config configuration file parameters
Alias of
Struct[{
Optional['Host'] => Stdlib::Host,
Optional['Match'] => String[1],
Optional['AddKeysToAgent'] => Enum['yes', 'no', 'ask', 'confirm'],
Optional['AddressFamily'] => Enum['any', 'inet', 'inet6'],
Optional['BatchMode'] => Ssh::Yes_no,
Optional['BindAddress'] => String[1],
Optional['BindInterface'] => String[1],
Optional['CanonicalDomains'] => String[1],
Optional['CanonicalizeFallbackLocal'] => Ssh::Yes_no,
Optional['CanonicalizeHostname'] => Enum['yes', 'no', 'always'],
Optional['CanonicalizeMaxDots'] => Integer[0],
Optional['CanonicalizePermittedCNAMEs'] => String[1],
Optional['CASignatureAlgorithms'] => String[1],
Optional['CertificateFile'] => String[1],
Optional['CheckHostIP'] => Ssh::Yes_no,
Optional['Ciphers'] => String[1],
Optional['ClearAllForwardings'] => Ssh::Yes_no,
Optional['Compression'] => Ssh::Yes_no,
Optional['ConnectionAttempts'] => Integer[0],
Optional['ConnectTimeout'] => Integer[0],
Optional['ControlMaster'] => Enum['yes', 'no', 'ask', 'auto', 'autoask'],
Optional['ControlPath'] => String[1],
Optional['ControlPersist'] => String[1],
Optional['DynamicForward'] => String[1],
Optional['EnableEscapeCommandline'] => Ssh::Yes_no,
Optional['EnableSSHKeysign'] => Ssh::Yes_no,
Optional['EscapeChar'] => String[1],
Optional['ExitOnForwardFailure'] => Ssh::Yes_no,
Optional['FingerprintHash'] => Enum['sha256', 'md5'],
Optional['ForkAfterAuthentication'] => Ssh::Yes_no,
Optional['ForwardAgent'] => Ssh::Yes_no,
Optional['ForwardX11'] => Ssh::Yes_no,
Optional['ForwardX11Timeout'] => Variant[String[1], Integer[0]],
Optional['ForwardX11Trusted'] => Ssh::Yes_no,
Optional['GatewayPorts'] => Ssh::Yes_no,
Optional['GlobalKnownHostsFile'] => String[1],
Optional['GSSAPIAuthentication'] => Ssh::Yes_no,
Optional['GSSAPIDelegateCredentials'] => Ssh::Yes_no,
Optional['HashKnownHosts'] => Ssh::Yes_no,
Optional['HostbasedAcceptedAlgorithms'] => String[1],
Optional['HostbasedAuthentication'] => Ssh::Yes_no,
Optional['HostKeyAlgorithms'] => String[1],
Optional['HostKeyAlias'] => String[1],
Optional['Hostname'] => String[1],
Optional['IdentitiesOnly'] => Ssh::Yes_no,
Optional['IdentityAgent'] => String[1],
Optional['IdentityFile'] => String[1],
Optional['IgnoreUnknown'] => String[1],
Optional['Include'] => String[1],
Optional['IPQoS'] => String[1],
Optional['KbdInteractiveAuthentication'] => Ssh::Yes_no,
Optional['KbdInteractiveDevices'] => String[1],
Optional['KexAlgorithms'] => String[1],
Optional['KnownHostsCommand'] => String[1],
Optional['LocalCommand'] => String[1],
Optional['LocalForward'] => String[1],
Optional['LogLevel'] => Ssh::Log_level,
Optional['LogVerbose'] => String[1],
Optional['MACs'] => String[1],
Optional['NoHostAuthenticationForLocalhost'] => Ssh::Yes_no,
Optional['NumberOfPasswordPrompts'] => Integer[0],
Optional['PasswordAuthentication'] => Ssh::Yes_no,
Optional['PermitLocalCommand'] => Ssh::Yes_no,
Optional['PermitRemoteOpen'] => String[1],
Optional['PKCS11Provider'] => String[1],
Optional['Port'] => Stdlib::Port,
Optional['PreferredAuthentications'] => String[1],
Optional['ProxyCommand'] => String[1],
Optional['ProxyJump'] => String[1],
Optional['ProxyUseFdpass'] => Ssh::Yes_no,
Optional['PubkeyAcceptedAlgorithms'] => String[1],
Optional['PubkeyAuthentication'] => Ssh::Yes_no,
Optional['RekeyLimit'] => String[1],
Optional['RemoteCommand'] => String[1],
Optional['RemoteForward'] => String[1],
Optional['RequestTTY'] => Enum['no', 'yes', 'force', 'auto'],
Optional['RequiredRSASize'] => Integer[0],
Optional['RevokedHostKeys'] => String[1],
Optional['SecurityKeyProvider'] => String[1],
Optional['SendEnv'] => String[1],
Optional['ServerAliveCountMax'] => Variant[String[1], Integer[0]],
Optional['ServerAliveInterval'] => Variant[String[1], Integer[0]],
Optional['SessionType'] => Enum['default', 'none', 'subsystem'],
Optional['SetEnv'] => String[1],
Optional['StdinNull'] => Ssh::Yes_no,
Optional['StreamLocalBindMask'] => Stdlib::Filemode,
Optional['StreamLocalBindUnlink'] => Ssh::Yes_no,
Optional['StrictHostKeyChecking'] => Enum['yes', 'no', 'accept-new', 'off', 'ask'],
Optional['SyslogFacility'] => Ssh::Syslog_facility,
Optional['TCPKeepAlive'] => Ssh::Yes_no,
Optional['Tunnel'] => Enum['yes', 'no', 'point-to-point', 'ethernet'],
Optional['TunnelDevice'] => String[1],
Optional['UpdateHostKeys'] => Ssh::Yes_no,
Optional['User'] => String[1],
Optional['UserKnownHostsFile'] => String[1],
Optional['VerifyHostKeyDNS'] => Enum['yes', 'no', 'ask'],
Optional['VisualHostKey'] => Ssh::Yes_no,
Optional['XAuthLocation'] => String[1],
Optional['custom'] => Array,
}]
Ssh::Sshd_Config
sshd_config configuration file parameters
Alias of
Struct[{
Optional['AcceptEnv'] => String[1],
Optional['AddressFamily'] => Enum['any', 'inet', 'inet6'],
Optional['AllowAgentForwarding'] => Ssh::Yes_no,
Optional['AllowGroups'] => String[1],
Optional['AllowStreamLocalForwarding'] => Enum['yes', 'all', 'no', 'local', 'remote'],
Optional['AllowTcpForwarding'] => Enum['yes', 'no', 'local', 'remote'],
Optional['AllowUsers'] => String[1],
Optional['AuthenticationMethods'] => String[1],
Optional['AuthorizedKeysCommand'] => String[1],
Optional['AuthorizedKeysCommandUser'] => String[1],
Optional['AuthorizedKeysFile'] => String[1],
Optional['AuthorizedPrincipalsCommand'] => String[1],
Optional['AuthorizedPrincipalsCommandUser'] => String[1],
Optional['AuthorizedPrincipalsFile'] => String[1],
Optional['Banner'] => String[1],
Optional['CASignatureAlgorithms'] => String[1],
Optional['ChallengeResponseAuthentication'] => Ssh::Yes_no,
Optional['ChannelTimeout'] => String[1],
Optional['ChrootDirectory'] => String[1],
Optional['Ciphers'] => String[1],
Optional['ClientAliveCountMax'] => Integer[0],
Optional['ClientAliveInterval'] => Integer[0],
Optional['Compression'] => Enum['yes', 'delayed', 'no'],
Optional['DenyGroups'] => String[1],
Optional['DenyUsers'] => String[1],
Optional['DisableForwarding'] => Ssh::Yes_no,
Optional['ExposeAuthInfo'] => Ssh::Yes_no,
Optional['FingerprintHash'] => Enum['md5', 'sha256'],
Optional['ForceCommand'] => String[1],
Optional['GatewayPorts'] => Enum['no', 'yes', 'clientspecified'],
Optional['GSSAPIAuthentication'] => Ssh::Yes_no,
Optional['GSSAPICleanupCredentials'] => Ssh::Yes_no,
Optional['GSSAPIStrictAcceptorCheck'] => Ssh::Yes_no,
Optional['HostbasedAcceptedAlgorithms'] => String[1],
Optional['HostbasedAuthentication'] => Ssh::Yes_no,
Optional['HostbasedUsesNameFromPacketOnly'] => Ssh::Yes_no,
Optional['HostCertificate'] => String[1],
Optional['HostKey'] => String[1],
Optional['HostKeyAgent'] => String[1],
Optional['HostKeyAlgorithms'] => String[1],
Optional['IgnoreRhosts'] => Ssh::Yes_no,
Optional['IgnoreUserKnownHosts'] => Ssh::Yes_no,
Optional['Include'] => String[1],
Optional['IPQoS'] => String[1],
Optional['KbdInteractiveAuthentication'] => Ssh::Yes_no,
Optional['KerberosAuthentication'] => Ssh::Yes_no,
Optional['KerberosGetAFSToken'] => Ssh::Yes_no,
Optional['KerberosOrLocalPasswd'] => Ssh::Yes_no,
Optional['KerberosTicketCleanup'] => Ssh::Yes_no,
Optional['KexAlgorithms'] => String[1],
Optional['ListenAddress'] => String[1],
Optional['LoginGraceTime'] => Integer[0],
Optional['LogLevel'] => Ssh::Log_level,
Optional['LogVerbose'] => String[1],
Optional['MACs'] => String[1],
Optional['Match'] => String[1],
Optional['MaxAuthTries'] => Integer[2],
Optional['MaxSessions'] => Integer[0],
Optional['MaxStartups'] => String[1],
Optional['ModuliFile'] => Stdlib::Absolutepath,
Optional['PasswordAuthentication'] => Ssh::Yes_no,
Optional['PermitEmptyPasswords'] => Ssh::Yes_no,
Optional['PermitListen'] => String[1],
Optional['PermitOpen'] => String[1],
Optional['PermitRootLogin'] => Ssh::Permit_root_login,
Optional['PermitTTY'] => Ssh::Yes_no,
Optional['PermitTunnel'] => Enum['yes', 'point-to-point', 'ethernet', 'no'],
Optional['PermitUserEnvironment'] => String[1],
Optional['PermitUserRC'] => Ssh::Yes_no,
Optional['PerSourceMaxStartups'] => String[1],
Optional['PerSourceNetBlockSize'] => String[1],
Optional['PidFile'] => String[1],
Optional['Port'] => Stdlib::Port,
Optional['PrintLastLog'] => Ssh::Yes_no,
Optional['PrintMotd'] => Ssh::Yes_no,
Optional['PubkeyAcceptedAlgorithms'] => String[1],
Optional['PubkeyAuthOptions'] => Enum['none', 'touch-required', 'verify-required'],
Optional['PubkeyAuthentication'] => Ssh::Yes_no,
Optional['RekeyLimit'] => String[1],
Optional['RequiredRSASize'] => Integer[0],
Optional['RevokedKeys'] => String[1],
Optional['RDomain'] => String[1],
Optional['SecurityKeyProvider'] => Stdlib::Absolutepath,
Optional['SetEnv'] => String[1],
Optional['StreamLocalBindMask'] => Stdlib::Filemode,
Optional['StreamLocalBindUnlink'] => Ssh::Yes_no,
Optional['StrictModes'] => Ssh::Yes_no,
Optional['Subsystem'] => String[1],
Optional['SyslogFacility'] => Ssh::Syslog_facility,
Optional['TCPKeepAlive'] => Ssh::Yes_no,
Optional['TrustedUserCAKeys'] => String[1],
Optional['UseDNS'] => Ssh::Yes_no,
Optional['UsePAM'] => Ssh::Yes_no,
Optional['VersionAddendum'] => String[1],
Optional['X11DisplayOffset'] => Integer[0],
Optional['X11Forwarding'] => Ssh::Yes_no,
Optional['X11UseLocalhost'] => Ssh::Yes_no,
Optional['XAuthLocation'] => String[1],
Optional['custom'] => Array,
}]
Ssh::Syslog_facility
validate syslog facilities used by SSH
Alias of Enum['DAEMON', 'USER', 'AUTH', 'LOCAL0', 'LOCAL1', 'LOCAL2', 'LOCAL3', 'LOCAL4', 'LOCAL5', 'LOCAL6', 'LOCAL7', 'AUTHPRIV']
Ssh::Yes_no
validate SSH configuration that uses yes/no.
Alias of Enum['yes', 'no']
Change log
All notable changes to this project will be documented in this file. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
v5.1.0 (2024-12-10)
Added
- Add support for Debian 12 and Ubuntu 24.04 #428 (flichtenheld)
Merged pull requests:
- Stop testing with EL7 as it is no longer supported #431 (ghoneycutt)
- Param spelling #430 (ghoneycutt)
- (docs) Add puppet strings documentation for types #420 (ghoneycutt)
v5.0.0 (2023-11-16)
Merged pull requests:
- Notify sshd when conf.d files change #419 (treydock)
- Test stdlib 9.x with regular unit tests #418 (treydock)
- Support Puppet 8 and stdlib 9.x #417 (treydock)
- (docs) Fix ChallengeResponseAuthentication Option #411 (jplindquist)
- Update documentation to use correct link to man page #410 (arjenz)
- Fix for multiple HostCertificate files #405 (Phil-Friderici)
- Fix for multiple IdentityFile files #404 (Phil-Friderici)
- Add $package_ensure to package resources and option to manage packages #403 (Phil-Friderici)
v4.1.0 (2023-04-06)
Merged pull requests:
v4.0.0 (2022-11-28)
Merged pull requests:
- V4 again take 2 #390 (treydock)
- Allow not exporting SSH keys #367 (mattock)
- Added sles15 resolved issue #320 #331 (FcoCalero)
v3.62.0 (2020-09-07)
Merged pull requests:
- Add Ubuntu 20.04 support #343 (mergwyn)
- Add debian10 #341 (ghoneycutt)
- Updated Module Dependencies #339 (EricSeiffert)
- Explicitly unset the ipaddress6 fact #335 (vStone)
v3.61.0 (2019-05-01)
Merged pull requests:
v3.60.1 (2019-04-29)
v3.60.0 (2019-04-29)
Merged pull requests:
- Add for the possibility of an IPv6 address #310 (bjvrielink)
- Add support for debian9 #309 (hdep)
v3.59.1 (2019-02-28)
Merged pull requests:
- Make sure Match-configuration is at the bottom #305 (ghoneycutt)
- Fix spec tests by pinning version of Bundler #304 (ghoneycutt)
v3.59.0 (2019-01-04)
Merged pull requests:
- Add support for Puppet 6 #298 (Phil-Friderici)
- Allow puppetlabs-concat \< 6.0.0 #296 (djschaap)
v3.58.0 (2018-10-08)
Merged pull requests:
- Add RevokedKeys option to sshd_config #293 (ghoneycutt)
v3.57.1 (2018-07-27)
Merged pull requests:
- Disable ServerkeyBits on RHEL 7.4 and later #278 (tuxmea)
- Fixing an inaccuracy within README.md #266 (meowomancer)
v3.57.0 (2017-12-11)
Merged pull requests:
- Add support for AllowAgentForwarding option in sshd_config #258 (ghoneycutt)
- Add sshd_config_authenticationmethods parameter #257 (baurmatt)
v3.56.1 (2017-11-20)
Merged pull requests:
- (ci) Stop testing on minor releases #253 (ghoneycutt)
- (GH-251) Fix regex for sshd_config_maxstartups #252 (ghoneycutt)
v3.56.0 (2017-10-27)
Merged pull requests:
- Update concat dependency to be compatible with concat 3.x and 4.x #248 (dhollinger)
v3.55.0 (2017-09-26)
Merged pull requests:
- Add ssh::config_entry defined type (with ssh::config_entries and tests) #246 (Phil-Friderici)
- Add ssh::config_entry defined type #245 (jeffmccune)
v3.54.0 (2017-07-24)
Merged pull requests:
- Add more SSH CA related fixes and paramaters #240 (dhollinger)
v3.53.0 (2017-07-24)
Merged pull requests:
- Fix testing #241 (ghoneycutt)
v3.52.0 (2017-05-26)
Merged pull requests:
v3.51.1 (2017-05-19)
Merged pull requests:
v3.51.0 (2017-05-17)
Merged pull requests:
- 223 new params #224 (ghoneycutt)
v3.50.0 (2017-05-08)
Merged pull requests:
- Add support for PubkeyAcceptedKeyTypes option to sshd_config #218 (ghoneycutt)
v3.49.1 (2017-02-27)
Merged pull requests:
- Fix parameters not compatible with Solaris #213 (Phil-Friderici)
- Support Puppet >= 4.9 #212 (Phil-Friderici)
- Remove join from validate_absolute_path for sshd_config_hostkey #201 (bc-bjoern)
- Fix ruby dependencies #200 (ghoneycutt)
v3.49.0 (2016-10-25)
Merged pull requests:
v3.48.0 (2016-10-21)
Merged pull requests:
- Ssh config proxy command #198 (ghoneycutt)
v3.47.0 (2016-10-19)
Merged pull requests:
v3.46.0 (2016-10-04)
Merged pull requests:
- Add configurable param X11UseLocalhost to sshd_config #193 (boandersson)
v3.45.0 (2016-08-30)
Merged pull requests:
- Ubuntu1604 #189 (Phil-Friderici)
- Ubuntu1604 #188 (ghoneycutt)
v3.44.0 (2016-08-29)
Merged pull requests:
v3.43.0 (2016-08-09)
Merged pull requests:
- Support Ruby v2.3.1 #184 (ghoneycutt)
- Allow puppet-lint v1 so community plugins work #182 (ghoneycutt)
v3.42.0 (2016-06-24)
Merged pull requests:
- Adding two new options for sshd_config PermitEmptyPasswords and PermitUserEnvironment #178 (jthiesfeld)
v3.41.1 (2016-06-20)
v3.41.0 (2016-06-20)
Merged pull requests:
- Add support for UserKnownHostsFile and add multiple files support for GlobalKnownHostsFile #177 (ghoneycutt)
- Add support for UserKnownHostsFile and add multiple files support for GlobalKnownHostsFile #176 (sergiik)
v3.40.0 (2016-06-09)
Merged pull requests:
v3.39.0 (2016-06-08)
Merged pull requests:
- allow ecdsa-sha2-nistp256 hostkeys, add host_aliases attribute to sshkey resource, add support for PubkeyAuthentication #173 (florianfa)
- Remove needless file #172 (Phil-Friderici)
v3.38.0 (2016-06-06)
Merged pull requests:
- Prep v3.80.0 #171 (ghoneycutt)
- Add param to manage MaxAuthTries in sshd_config #170 (ghoneycutt)
v3.37.1 (2016-06-06)
Merged pull requests:
v3.37.0 (2016-06-04)
Merged pull requests:
- Add ssh params #168 (ghoneycutt)
- Specs for ssh* facts #154 (Phil-Friderici)
v3.36.0 (2016-04-04)
Merged pull requests:
- UseRoaming on supported versions only #157 (anders-larsson)
v3.35.0 (2016-01-29)
Merged pull requests:
- WIP - Add facts for ssh version #133 (ghoneycutt)
v3.34.0 (2016-01-17)
Merged pull requests:
- Use roaming #149 (ghoneycutt)
v3.33.1 (2015-12-16)
Merged pull requests:
- Support puppet v430 #143 (ghoneycutt)
v3.33.0 (2015-12-10)
Merged pull requests:
- Sshd addressfamily #142 (ghoneycutt)
- Change formatting in README to be explicit about example types #140 (ghoneycutt)
- Update README to meet criteria for Puppet Labs Approved status #139 (ghoneycutt)
v3.32.0 (2015-10-15)
Merged pull requests:
- Add a parameter to allow disabling management of the ssh service #134 (dfairhurst)
v3.31.0 (2015-10-07)
Merged pull requests:
- add default SFTP subsystem for SLES12 #132 (Phil-Friderici)
v3.30.0 (2015-09-03)
Merged pull requests:
- Add parameter for KerberosAuthentication option to sshd #127 (ghoneycutt)
v3.29.1 (2015-08-17)
Merged pull requests:
- fix for hiera_array() always returning an empty array #121 (Phil-Friderici)
v3.29.0 (2015-08-05)
Merged pull requests:
- Support Puppetv4 and v3 with future parser #120 (ghoneycutt)
- Update README for HostbasedAuthentication and small styling fixes #117 (kTitan)
- Parameterize IgnoreUserKnownHosts & IgnoreRhosts #116 (kTitan)
v3.28.0 (2015-06-01)
Merged pull requests:
- Add parameter for HostbasedAuthentication option in sshd_config #115 (ghoneycutt)
v3.27.2 (2015-05-31)
Merged pull requests:
- Fix style issues #114 (ghoneycutt)
v3.27.1 (2015-05-07)
Merged pull requests:
v3.27.0 (2015-05-07)
Merged pull requests:
v3.26.0 (2015-04-13)
Merged pull requests:
- Add parameters for AuthorizedKeysCommand and AuthorizedKeysCommandUser #108 (ghoneycutt)
- move empty line into conditional block #107 (Phil-Friderici)
v3.25.0 (2015-04-08)
Merged pull requests:
- Sftp settings #106 (ghoneycutt)
v3.24.0 (2014-11-17)
Merged pull requests:
- Known hosts #101 (ghoneycutt)
v3.23.1 (2014-11-14)
Merged pull requests:
- Support versions of Puppet Enterprise greater than 3.3 #100 (ghoneycutt)
v3.23.0 (2014-11-14)
Merged pull requests:
- Maxstartups and maxsessions #99 (ghoneycutt)
v3.22.0 (2014-10-28)
Merged pull requests:
- Add sshd listen address #94 (ghoneycutt)
v3.21.0 (2014-10-21)
Merged pull requests:
- Style fix - no functional changes #91 (ghoneycutt)
- Add support for changing HostKey option #85 (diddi-)
v3.20.0 (2014-10-15)
Merged pull requests:
- El7 #90 (ghoneycutt)
v3.19.1 (2014-09-24)
Merged pull requests:
- Release v3.19.1 - Bugfix: default GSSAPIDelegateCredentials to undef #89 (ghoneycutt)
v3.19.0 (2014-09-23)
Merged pull requests:
- Add support for GSSAPIDelegateCredentials in ssh_config. #88 (ghoneycutt)
v3.18.0 (2014-09-04)
Merged pull requests:
v3.17.0 (2014-08-09)
Merged pull requests:
- Use hiera array for deep merge #81 (ghoneycutt)
v3.16.0 (2014-08-09)
Merged pull requests:
v3.15.2 (2014-07-16)
Merged pull requests:
v3.15.1 (2014-06-11)
Merged pull requests:
- Sol11 #76 (ghoneycutt)
v3.15.0 (2014-05-29)
Merged pull requests:
- Add Allow/Deny options to sshd_config #74 (ghoneycutt)
v3.14.0 (2014-05-29)
Merged pull requests:
- Add ability to specify DenyUsers in sshd_config #73 (ghoneycutt)
v3.13.0 (2014-05-28)
Merged pull requests:
- Add macs params #72 (ghoneycutt)
- Add ability to specify Ciphers option in ssh_config and sshd_config #71 (ghoneycutt)
v3.12.0 (2014-05-22)
Merged pull requests:
- Add sshd config serverkeybits #70 (ghoneycutt)
v3.11.0 (2014-05-20)
Merged pull requests:
- Add StrictModes parameter for sshd #68 (ghoneycutt)
- Add version dependency to firewall module to support Forge #65 (ghoneycutt)
v3.10.0 (2014-05-16)
Merged pull requests:
v3.9.0 (2014-04-14)
Merged pull requests:
- Ssh key import #63 (ghoneycutt)
- Update spec tests to use contain_class as include_class is deprecated #61 (ghoneycutt)
v3.8.0 (2014-04-02)
Merged pull requests:
- Added ClientAliveCountMax config parameter #56 (mlehner616)
v3.7.0 (2014-02-28)
Merged pull requests:
- Support solaris #54 (ghoneycutt)
v3.6.1 (2014-02-06)
Merged pull requests:
- Support Puppet v3.4 and Ruby v2.0.0 #51 (ghoneycutt)
- Travis #49 (ghoneycutt)
v3.6.0 (2014-01-20)
Merged pull requests:
- Hiera merge #48 (ghoneycutt)
- Support rspec-puppet v1.0.0 #43 (ghoneycutt)
v3.5.0 (2013-12-21)
Merged pull requests:
- (#244) Add banner file #40 (ghoneycutt)
- fixing spec warnings #39 (Phil-Friderici)
v3.4.0 (2013-12-19)
Merged pull requests:
- ssh_config_hash_known_hosts option added #38 (Phil-Friderici)
v3.3.0 (2013-12-04)
Merged pull requests:
- Change default value for sshd_config_challenge_resp_auth to 'yes' #36 (dantremblay)
v3.2.1 (2013-11-14)
Merged pull requests:
- Validate keys parameter #35 (ghoneycutt)
v3.2.0 (2013-11-04)
Merged pull requests:
- Specify port #34 (ghoneycutt)
v3.0.0 (2013-10-31)
Merged pull requests:
- Release v3.0.0 #33 (ghoneycutt)
v2.5.1 (2013-10-31)
Merged pull requests:
- Revert sshd_config_sendenv_xmodifiers which introduced a bug #32 (ghoneycutt)
v2.5.0 (2013-10-31)
Merged pull requests:
- Add feature to allow setting 'SendEnv XMODIFIERS' #31 (ghoneycutt)
- Add more params #30 (ghoneycutt)
v2.4.0 (2013-10-22)
Merged pull requests:
- New master #23 (ghoneycutt)
v2.3.0 (2013-10-17)
Merged pull requests:
- Improve spec tests #19 (ghoneycutt)
- Fix undef variables in template #18 (ghoneycutt)
- Fixed undef variables problems in ssh_config.erb #16 (Phil-Friderici)
- Added support for Suse #15 (Phil-Friderici)
- Add ability to add more OS's and add spec tests #14 (ghoneycutt)
- Sshkeys #11 (ghoneycutt)
- Add parameters to ssh_config and sshd_config #9 (jwennerberg)
- Update for nomalize testing. #8 (narf-)
- Add spec tests #7 (ghoneycutt)
- Remove trailing whitespace from manifest #6 (ghoneycutt)
- Added documentation #3 (ghost)
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/stdlib (>= 8.0.0 < 10.0.0)
- puppetlabs/concat (>= 7.0.0 < 10.0.0)
- puppetlabs/sshkeys_core (>= 2.3.0 < 3.0.0)
Copyright (C) 2010-2023 Garrett Honeycutt <code@garretthoneycutt.com> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.