Gitlab Community Edition Instance

Skip to content
Snippets Groups Projects
openssh_server.pp 2.72 KiB
Newer Older
  • Learn to ignore specific revisions
  • # 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',