Linux keskitetty hallinta kurssilla 9.11.2012 tehty SSH palvelimen asentava Puppet moduli

Puppet moduli, joka asentaa SSH palvelimen. Moduli asettaa myös SSH palvelimen asetustiedoston, jossa SSH palvelun porttinumero on vaihdettu 2222:n.

Modulin perusversio

Modulin rakenne:

xubuntu@xubuntu:~/puppet/modules$ tree
.
└── sshport
    ├── files
    │   └── sshd_config
    └── manifests
        └── init.pp

3 directories, 2 files

Modulin init.pp tiedoston sisältö:

class sshport {

   package { 'openssh-server':
     ensure => present,
     allowcdrom => true,
   }

   file { '/etc/ssh/sshd_config':
     ensure => file,
     source =>"puppet:///modules/sshport/sshd_config",
     require => Package['openssh-server'],
   }

   service { 'ssh':
     ensure => running,
     enable => true,
     hasstatus => true,
     subscribe => [Package['openssh-server'], File['/etc/ssh/sshd_config']],
     require => File['/etc/ssh/sshd_config'],
   }
}

Modulin suorittaminen:
xubuntu@xubuntu:~/puppet$ sudo puppet apply --modulepath modules/ -e 'include sshport'

Modulin testaaminen:

xubuntu@xubuntu:~/puppet/modules/sshport$ ssh -p 2222 xubuntu@localhost xubuntu@localhost's password: 
Permission denied, please try again.

Modulin toteutus template tiedostoa käyttämällä

Vaihtoehtoinen toteutus modulista, jossa SSH palvelimen asetustiedosto luodaan käyttämällä template tiedostoa. Template tiedostossa porttimäärityksen sisältävä riville tehdään interpolaatio modulissa käytetystä muuttujasta. SSH portin numero määritetään modulissa muuttujalla $port.

Modulin rakenne:

xubuntu@xubuntu:~/puppet/modules$ tree
.
└── sshport
    ├── files
    │   └── sshd_config
    ├── manifests
    │   └── init.pp
    └── templates
        └── sshd_config.erb

Modulin init.pp tiedoston sisältö:

class sshport {

  $port='2562'

  package { 'openssh-server':
     ensure => present,
     allowcdrom => true,
  }

  file { '/etc/ssh/sshd_config':
    ensure => file,
    content => template('sshport/sshd_config.erb'),
    require => Package['openssh-server'],
  }

  service { 'ssh':
    ensure    => running,
    enable    => true,
    hasstatus => true,
    subscribe => [Package['openssh-server'], File['/etc/ssh/sshd_config']],
    require   => File['/etc/ssh/sshd_config'],
  }
}

Modulin sshd_config.erb tiedosto on samanlainen kuin normaali SSH palvelimen asetustiedosto. Poikkeuksena porttimäärityksen sisältä rivi, jossa on seuraavanlainen muuttuja interpolaatio:

Port <%= port %>

Modulin suorittaminen:

xubuntu@xubuntu:~/puppet$ sudo puppet apply --modulepath modules/ -e 'include sshport'

Modulin testaaminen:

xubuntu@xubuntu:~/puppet$ ssh -p 2562 xubuntu@localhost 
xubuntu@localhost's password: 
Permission denied, please try again.

Lähteet

Vogeraal, Bram 2012. Module attachmentgenie/ssh. Puppet Forge.
http://forge.puppetlabs.com/attachmentgenie/ssh

About

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti.
http://www.gnu.org/licenses/gpl.html
Pohjana Tero Karvisen Linux-kurssi, www.iki.fi/karvinen

About these ads

Avainsanat: , , ,

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

You are commenting using your WordPress.com account. Log Out / Muuta )

Twitter-kuva

You are commenting using your Twitter account. Log Out / Muuta )

Facebook-kuva

You are commenting using your Facebook account. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s


Seuraa

Get every new post delivered to your Inbox.