Gitlab Community Edition Instance

Skip to content
Snippets Groups Projects
openssh_server.pp 2.72 KiB
Newer Older
# openssh-server konfigurieren
class ubuntu_server::openssh_server($port='22',$groups_only='root',$authorized_keys=false){

    package{['openssh-server','openssh-blacklist-extra','openssh-blacklist']:
        ensure => present,
    }

    file_line{'openssh_server_config_Port':
        path    => '/etc/ssh/sshd_config',
        line    => "Port ${port}",
        match   => '^Port',
        require => Package['openssh-server'],
    } ~> Service['ssh']

    file_line{'openssh_server_config_PermitRootLogin':
        path    => '/etc/ssh/sshd_config',
        line    => 'PermitRootLogin without-password',
        match   => '^PermitRootLogin',
        require => Package['openssh-server'],
    } ~> Service['ssh']

    file_line{'openssh_server_config_AllowGroups':
        path    => '/etc/ssh/sshd_config',
        line    => "AllowGroups ${groups_only}",
        match   => '^AllowGroups',
        require => Package['openssh-server'],
    } ~> Service['ssh']

Benedikt Wegmann's avatar
Benedikt Wegmann committed
    unless $authorized_keys == false {
        file{'/root/.ssh/authorized_keys':
            ensure => present,
            mode   => '0664',
            owner  => root,
            group  => root,
            source => $authorized_keys,
        }
    }

    file_line{'openssh_server_config_KexAlgorithms':
        path    => '/etc/ssh/sshd_config',
        line    => 'KexAlgorithms diffie-hellman-group-exchange-sha256',
        match   => '^KexAlgorithms',
        require => Package['openssh-server'],
    } ~> Service['ssh']

    file_line{'openssh_server_config_Ciphers':
        path    => '/etc/ssh/sshd_config',
        line    => 'Ciphers aes256-ctr,aes192-ctr,aes128-ctr',
        match   => '^Ciphers',
        require => Package['openssh-server'],
    } ~> Service['ssh']

    file_line{'openssh_server_config_NoDSA':
        path    => '/etc/ssh/sshd_config',
        line    => '#HostKey /etc/ssh/ssh_host_dsa_key',
        match   => '^HostKey /etc/ssh/ssh_host_dsa_key',
        require => Package['openssh-server'],
    } ~> Service['ssh']

    file_line{'openssh_server_config_NoEcdsa':
        path    => '/etc/ssh/sshd_config',
        line    => '#HostKey /etc/ssh/ssh_host_ecdsa_key',
        match   => '^HostKey /etc/ssh/ssh_host_ecdsa_key',
        require => Package['openssh-server'],
    } ~> Service['ssh']

    file_line{'openssh_server_config_NoEd25519':
        path    => '/etc/ssh/sshd_config',
        line    => '#HostKey /etc/ssh/ssh_host_ed25519_key',
        match   => '^HostKey /etc/ssh/ssh_host_ed25519_key',
        require => Package['openssh-server'],
    } ~> Service['ssh']

    service{'ssh':
        ensure => running,
    }

    file{'/root/.ssh':
        ensure => directory,
        owner  => root,
        group  => root,
        mode   => '0700',