Classes
ssh: Class to manage SSH clientssh::server: Class to manage SSH serverDefined types
ssh::config_entry: Create config entries in a users' ~/.ssh/configNotes: Match and Host attributes are not directly supported as multiple match/host blocks can exist. Use the custom parameter for that.
The following parameters are available in the ssh class.
packagesData type: Variant[String[1], Array[String[1]]]
Default value: ‘openssh-clients’
package_sourceData type: Optional[Stdlib::Absolutepath]
Default value: undef
package_adminfileData type: Optional[Stdlib::Absolutepath]
Default value: undef
config_pathData type: Stdlib::Absolutepath
Default value: ‘/etc/ssh/ssh_config’
config_ownerData type: String[1]
Default value: ‘root’
config_groupData type: String[1]
Default value: ‘root’
config_modeData type: Stdlib::Filemode
Default value: ‘0644’
global_known_hostsData type: Stdlib::Absolutepath
Default value: ‘/etc/ssh/ssh_known_hosts’
global_known_hosts_ownerData type: String[1]
Default value: ‘root’
global_known_hosts_groupData type: String[1]
Default value: ‘root’
global_known_hosts_modeData type: Stdlib::Filemode
Default value: ‘0644’
manage_root_ssh_configData type: Boolean
Default value: false
root_ssh_config_contentData type: String[1]
Default value: “# This file is being maintained by Puppet.\n# DO NOT EDIT\n”
manage_serverData type: Boolean
Default value: true
key_exportData type: Boolean
Default value: false
purge_keysData type: Boolean
Default value: true
ssh_key_ensureData type: Enum['present', 'absent']
Default value: ‘present’
ssh_key_importData type: Boolean
Default value: false
ssh_key_typeData type: Ssh::Key::Type
Default value: ‘ssh-rsa’
keysData type: Hash
Default value: undef
config_entriesData type: Hash
Default value: {}
hostData type: String[1]
Default value: ‘*’
add_keys_to_agentData type: Optional[Enum['yes', 'no', 'ask', 'confirm']]
Default value: undef
address_familyData type: Optional[Enum['any', 'inet', 'inet6']]
Default value: undef
batch_modeData type: Optional[Ssh::Yes_no]
Default value: undef
bind_addressData type: Optional[String[1]]
Default value: undef
bind_interfaceData type: Optional[String[1]]
Default value: undef
canonical_domainsData type: Optional[Array[String[1]]]
Default value: undef
canonicalize_fallback_localData type: Optional[Ssh::Yes_no]
Default value: undef
canonicalize_hostnameData type: Optional[Enum['yes', 'no', 'always']]
Default value: undef
canonicalize_max_dotsData type: Optional[Integer[0]]
Default value: undef
canonicalize_permitted_cnamesData type: Optional[Array[String[1]]]
Default value: undef
ca_signature_algorithmsData type: Optional[Array[String[1]]]
Default value: undef
certificate_fileData type: Optional[Array[String[1]]]
Default value: undef
challenge_response_authenticationData type: Optional[Ssh::Yes_no]
Default value: undef
check_host_ipData type: Optional[Ssh::Yes_no]
Default value: undef
ciphersData type: Optional[Array[String[1]]]
Default value: undef
clear_all_forwardingsData type: Optional[Ssh::Yes_no]
Default value: undef
compressionData type: Optional[Ssh::Yes_no]
Default value: undef
connection_attemptsData type: Optional[Integer[0]]
Default value: undef
connect_timeoutData type: Optional[Integer[0]]
Default value: undef
control_masterData type: Optional[Enum['yes', 'no', 'ask', 'auto', 'autoask']]
Default value: undef
control_pathData type: Optional[String[1]]
Default value: undef
control_persistData type: Optional[String[1]]
Default value: undef
dynamic_forwardData type: Optional[String[1]]
Default value: undef
enable_ssh_keysignData type: Optional[Ssh::Yes_no]
Default value: undef
escape_charData type: Optional[String[1]]
Default value: undef
exit_on_forward_failureData type: Optional[Ssh::Yes_no]
Default value: undef
fingerprint_hashData type: Optional[Enum['sha256', 'md5']]
Default value: undef
forward_agentData type: Optional[Ssh::Yes_no]
Default value: undef
forward_x11Data type: Optional[Ssh::Yes_no]
Default value: undef
forward_x11_timeoutData type: Variant[Undef, String[1], Integer[0]]
Default value: undef
forward_x11_trustedData type: Optional[Ssh::Yes_no]
Default value: undef
gateway_portsData type: Optional[Ssh::Yes_no]
Default value: undef
global_known_hosts_fileData type: Variant[Undef, String[1], Array[String[1]]]
Default value: undef
gss_api_authenticationData type: Optional[Ssh::Yes_no]
Default value: undef
gss_api_delegate_credentialsData type: Optional[Ssh::Yes_no]
Default value: undef
hash_known_hostsData type: Optional[Ssh::Yes_no]
Default value: undef
hostbased_authenticationData type: Optional[Ssh::Yes_no]
Default value: undef
hostbased_key_typesData type: Optional[Array[String[1]]]
Default value: undef
host_key_algorithmsData type: Optional[Array[String[1]]]
Default value: undef
host_key_aliasData type: Optional[String[1]]
Default value: undef
host_nameData type: Optional[String[1]]
Default value: undef
identities_onlyData type: Optional[Ssh::Yes_no]
Default value: undef
identity_agentData type: Optional[String[1]]
Default value: undef
identity_fileData type: Optional[Array[String[1]]]
Default value: undef
ignore_unknownData type: Optional[Array[String[1]]]
Default value: undef
includeData type: Optional[String[1]]
Default value: undef
ip_qosData type: Optional[String[1]]
Default value: undef
kbd_interactive_authenticationData type: Optional[Ssh::Yes_no]
Default value: undef
kbd_interactive_devicesData type: Optional[Array[String[1]]]
Default value: undef
kex_algorithmsData type: Optional[Array[String[1]]]
Default value: undef
local_commandData type: Optional[String[1]]
Default value: undef
local_forwardData type: Optional[String[1]]
Default value: undef
log_levelData type: Optional[Ssh::Log_level]
Default value: undef
no_host_authentication_for_localhostData type: Optional[Ssh::Yes_no]
Default value: undef
number_of_password_promptsData type: Optional[Integer]
Default value: undef
password_authenticationData type: Optional[Ssh::Yes_no]
Default value: undef
permit_local_commandData type: Optional[Ssh::Yes_no]
Default value: undef
pkcs11_providerData type: Optional[String[1]]
Default value: undef
portData type: Optional[Stdlib::Port]
Default value: undef
preferred_authenticationsData type: Optional[Array[String[1]]]
Default value: undef
proxy_commandData type: Optional[String[1]]
Default value: undef
proxy_jumpData type: Optional[Array[String[1]]]
Default value: undef
proxy_use_fdpassData type: Optional[Ssh::Yes_no]
Default value: undef
pubkey_accepted_key_typesData type: Optional[Array[String[1]]]
Default value: undef
pubkey_authenticationData type: Optional[Ssh::Yes_no]
Default value: undef
rekey_limitData type: Optional[String[1]]
Default value: undef
remote_commandData type: Optional[String[1]]
Default value: undef
remote_forwardData type: Optional[String[1]]
Default value: undef
request_ttyData type: Optional[Enum['no', 'yes', 'force', 'auto']]
Default value: undef
revoked_host_keysData type: Optional[String[1]]
Default value: undef
send_envData type: Optional[Array[String[1]]]
Default value: undef
server_alive_count_maxData type: Variant[Undef, String[1], Integer[0]]
Default value: undef
server_alive_intervalData type: Variant[Undef, String[1], Integer[0]]
Default value: undef
set_envData type: Optional[Array[String[1]]]
Default value: undef
stream_local_bind_maskData type: Optional[Pattern[/^[0-7]{4}$/]]
Default value: undef
stream_local_bind_unlinkData type: Optional[Ssh::Yes_no]
Default value: undef
strict_host_key_checkingData type: Optional[Enum['yes', 'no', 'accept-new', 'off', 'ask']]
Default value: undef
syslog_facilityData type: Optional[Ssh::Syslog_facility]
Default value: undef
tcp_keep_aliveData type: Optional[Ssh::Yes_no]
Default value: undef
tunnelData type: Optional[Enum['yes', 'no', 'point-to-point', 'ethernet']]
Default value: undef
tunnel_deviceData type: Optional[String[1]]
Default value: undef
update_host_keysData type: Optional[Enum['yes', 'no', 'ask']]
Default value: undef
userData type: Optional[String[1]]
Default value: undef
user_known_hosts_fileData type: Optional[Array[String[1]]]
Default value: undef
verify_host_key_dnsData type: Optional[Enum['yes', 'no', 'ask']]
Default value: undef
visual_host_keyData type: Optional[Ssh::Yes_no]
Default value: undef
xauth_locationData type: Optional[String[1]]
Default value: undef
customData type: Optional[String[1]]
Default value: undef
Notes: Match attribute is not directly supported as multiple match blocks can exist. Use the custom parameter for that.
The following parameters are available in the ssh::server class.
packagesData type: Variant[String[1], Array[String[1]]]
Default value: ‘openssh-server’
package_sourceData type: Optional[Stdlib::Absolutepath]
Default value: undef
package_adminfileData type: Optional[Stdlib::Absolutepath]
Default value: undef
config_pathData type: Stdlib::Absolutepath
Default value: ‘/etc/ssh/sshd_config’
config_ownerData type: String[1]
Default value: ‘root’
config_groupData type: String[1]
Default value: ‘root’
config_modeData type: Stdlib::Filemode
Default value: ‘0600’
banner_pathData type: Stdlib::Absolutepath
Default value: ‘/etc/sshd_banner’
banner_contentData type: Optional[String[1]]
Default value: undef
banner_ownerData type: String[1]
Default value: ‘root’
banner_groupData type: String[1]
Default value: ‘root’
banner_modeData type: Stdlib::Filemode
Default value: ‘0644’
manage_serviceData type: Boolean
Default value: true
service_ensureData type: Stdlib::Ensure::Service
Default value: ‘running’
service_nameData type: String[1]
Default value: ‘sshd’
service_enableData type: Boolean
Default value: true
service_hasrestartData type: Boolean
Default value: true
service_hasstatusData type: Boolean
Default value: true
accept_envData type: Optional[Array[String[1]]]
Default value: undef
address_familyData type: Optional[Enum['any', 'inet', 'inet6']]
Default value: undef
allow_agent_forwardingData type: Optional[Ssh::Yes_no]
Default value: undef
allow_groupsData type: Variant[Undef, String[1], Array[String[1]]]
Default value: undef
allow_stream_local_forwardingData type: Optional[Enum['yes', 'all', 'no', 'local', 'remote']]
Default value: undef
allow_tcp_forwardingData type: Optional[Enum['yes', 'no', 'local', 'remote']]
Default value: undef
allow_usersData type: Variant[Undef, String[1], Array[String[1]]]
Default value: undef
authentication_methodsData type: Optional[Array[String[1]]]
Default value: undef
authorized_keys_commandData type: Optional[String[1]]
Default value: undef
authorized_keys_command_userData type: Optional[String[1]]
Default value: undef
authorized_keys_fileData type: Variant[Undef, String[1], Array[String[1]]]
Default value: undef
authorized_principals_commandData type: Optional[String[1]]
Default value: undef
authorized_principals_command_userData type: Optional[String[1]]
Default value: undef
authorized_principals_fileData type: Optional[String[1]]
Default value: undef
bannerData type: Optional[String[1]]
Default value: undef
ca_signature_algorithmsData type: Optional[Array[String[1]]]
Default value: undef
challenge_response_authenticationData type: Optional[String[1]]
Default value: undef
chroot_directoryData type: Optional[String[1]]
Default value: undef
ciphersData type: Optional[Array[String[1]]]
Default value: undef
client_alive_count_maxData type: Optional[Integer[0]]
Default value: undef
client_alive_intervalData type: Optional[Integer[0]]
Default value: undef
compressionData type: Optional[Enum['yes', 'delayed', 'no']]
Default value: undef
deny_groupsData type: Variant[Undef, String[1], Array[String[1]]]
Default value: undef
deny_usersData type: Variant[Undef, String[1], Array[String[1]]]
Default value: undef
disable_forwardingData type: Optional[Ssh::Yes_no]
Default value: undef
expose_auth_infoData type: Optional[Ssh::Yes_no]
Default value: undef
fingerprint_hashData type: Optional[Enum['md5', 'sha256']]
Default value: undef
force_commandData type: Optional[String[1]]
Default value: undef
gateway_portsData type: Optional[Enum['no', 'yes', 'clientspecified']]
Default value: undef
gss_api_authenticationData type: Optional[Ssh::Yes_no]
Default value: undef
gss_api_cleanup_credentialsData type: Optional[Ssh::Yes_no]
Default value: undef
gss_api_strict_acceptor_checkData type: Optional[Ssh::Yes_no]
Default value: undef
hostbased_accepted_key_typesData type: Optional[Array[String[1]]]
Default value: undef
hostbased_authenticationData type: Optional[Ssh::Yes_no]
Default value: undef
hostbased_uses_name_from_packet_onlyData type: Optional[Ssh::Yes_no]
Default value: undef
host_certificateData type: Optional[String[1]]
Default value: undef
host_keyData type: Optional[Array[String[1]]]
Default value: undef
host_key_agentData type: Optional[String[1]]
Default value: undef
host_key_algorithmsData type: Optional[Array[String[1]]]
Default value: undef
ignore_rhostsData type: Optional[Ssh::Yes_no]
Default value: undef
ignore_user_known_hostsData type: Optional[Ssh::Yes_no]
Default value: undef
ip_qosData type: Optional[String[1]]
Default value: undef
kbd_interactive_authenticationData type: Optional[Ssh::Yes_no]
Default value: undef
kerberos_authenticationData type: Optional[Ssh::Yes_no]
Default value: undef
kerberos_get_afs_tokenData type: Optional[Ssh::Yes_no]
Default value: undef
kerberos_or_local_passwdData type: Optional[Ssh::Yes_no]
Default value: undef
kerberos_ticket_cleanupData type: Optional[Ssh::Yes_no]
Default value: undef
kex_algorithmsData type: Optional[Array[String[1]]]
Default value: undef
listen_addressData type: Optional[Array[String[1]]]
Default value: undef
login_grace_timeData type: Optional[Integer[0]]
Default value: undef
log_levelData type: Optional[Ssh::Log_level]
Default value: undef
macsData type: Optional[Array[String[1]]]
Default value: undef
max_auth_triesData type: Optional[Integer[2]]
Default value: undef
max_sessionsData type: Optional[Integer[0]]
Default value: undef
max_startupsData type: Optional[String[1]]
Default value: undef
password_authenticationData type: Optional[Ssh::Yes_no]
Default value: undef
permit_empty_passwordsData type: Optional[Ssh::Yes_no]
Default value: undef
permit_listenData type: Variant[Undef, String[1], Array[String[1]]]
Default value: undef
permit_root_loginData type: Optional[Ssh::Permit_root_login]
Default value: undef
permit_ttyData type: Optional[Ssh::Yes_no]
Default value: undef
permit_tunnelData type: Optional[Enum['yes', 'point-to-point', 'ethernet', 'no']]
Default value: undef
permit_user_environmentData type: Optional[String[1]]
Default value: undef
permit_user_rcData type: Optional[Ssh::Yes_no]
Default value: undef
pid_fileData type: Optional[String[1]]
Default value: undef
portData type: Optional[Stdlib::Port]
Default value: undef
print_last_logData type: Optional[Ssh::Yes_no]
Default value: undef
print_motdData type: Optional[Ssh::Yes_no]
Default value: undef
pubkey_accepted_key_typesData type: Optional[Array[String[1]]]
Default value: undef
pubkey_authenticationData type: Optional[Ssh::Yes_no]
Default value: undef
rekey_limitData type: Optional[String[1]]
Default value: undef
revoked_keysData type: Optional[String[1]]
Default value: undef
rdomainData type: Optional[String[1]]
Default value: undef
set_envData type: Optional[String[1]]
Default value: undef
stream_local_bind_maskData type: Optional[Pattern[/^[0-7]{4}$/]]
Default value: undef
stream_local_bind_unlinkData type: Optional[Ssh::Yes_no]
Default value: undef
strict_modesData type: Optional[Ssh::Yes_no]
Default value: undef
subsystemData type: Optional[String[1]]
Default value: undef
syslog_facilityData type: Optional[Ssh::Syslog_facility]
Default value: undef
tcp_keep_aliveData type: Optional[Ssh::Yes_no]
Default value: undef
trusted_user_ca_keysData type: Optional[String[1]]
Default value: undef
use_dnsData type: Optional[Ssh::Yes_no]
Default value: undef
use_pamData type: Optional[Ssh::Yes_no]
Default value: undef
version_addendumData type: Optional[String[1]]
Default value: undef
x11_display_offsetData type: Optional[Integer[0]]
Default value: undef
x11_forwardingData type: Optional[Ssh::Yes_no]
Default value: undef
x11_use_localhostData type: Optional[Ssh::Yes_no]
Default value: undef
xauth_locationData type: Optional[String[1]]
Default value: undef
customData type: Optional[String[1]]
Default value: undef
Manage an entry in ~/.ssh/config for a particular user. Lines model the lines in each Host block.
The following parameters are available in the ssh::config_entry defined type.
ownerData type: String[1]
groupData type: String[1]
pathData type: Stdlib::Absolutepath
hostData type: String[1]
orderData type: Integer[0]
Default value: 10
ensureData type: Enum['present','absent']
Default value: ‘present’
linesData type: Array[String]
Default value: []