heat_template_version: wallaby description: > Configure sshd_config parameters: ServiceData: default: {} description: Dictionary packing service data type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set via parameter_defaults in the resource registry. Use parameter_merge_strategies to merge it with the defaults. type: json RoleName: default: '' description: Role name on which the service is applied type: string RoleParameters: default: {} description: Parameters specific to the role type: json EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json BannerText: default: '' description: Configures Banner text in sshd_config type: string MessageOfTheDay: default: '' description: Configures /etc/motd text type: string SshServerOptions: default: HostKey: - '/etc/ssh/ssh_host_rsa_key' - '/etc/ssh/ssh_host_ecdsa_key' - '/etc/ssh/ssh_host_ed25519_key' SyslogFacility: 'AUTHPRIV' AuthorizedKeysFile: '.ssh/authorized_keys' ChallengeResponseAuthentication: 'no' GSSAPIAuthentication: 'no' GSSAPICleanupCredentials: 'no' UsePAM: 'yes' UseDNS: 'no' X11Forwarding: 'yes' AcceptEnv: - 'LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES' - 'LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT' - 'LC_IDENTIFICATION LC_ALL LANGUAGE' - 'XMODIFIERS' Subsystem: 'sftp /usr/libexec/openssh/sftp-server' description: Mapping of sshd_config values type: json SshServerOptionsOverrides: default: {} description: Mapping of sshd_config values to override definitions in SshServerOptions type: json PasswordAuthentication: default: 'no' description: Whether or not disable password authentication type: string SshFirewallAllowAll: default: false description: Set this to true to open up ssh access from all sources. type: boolean conditions: ssh_banner_text_set: not: {equals: [{get_param: BannerText}, '']} ssh_motd_text_set: not: {equals: [{get_param: MessageOfTheDay}, '']} outputs: role_data: description: Role data for the ssh value: service_name: sshd firewall_rules: '003 accept ssh from all': proto: 'tcp' dport: 22 extras: ensure: {if: [{get_param: SshFirewallAllowAll}, 'present', 'absent']} host_prep_tasks: - include_role: name: tripleo_sshd vars: tripleo_sshd_server_options: map_merge: - {get_param: SshServerOptions} - {get_param: SshServerOptionsOverrides} tripleo_sshd_password_authentication: {get_param: PasswordAuthentication} tripleo_sshd_banner_enabled: if: - ssh_banner_text_set - true - false tripleo_sshd_banner_text: {get_param: BannerText} tripleo_sshd_motd_enabled: if: - ssh_motd_text_set - true - false tripleo_sshd_message_of_the_day: {get_param: MessageOfTheDay}