Linuxin keskitetty hallinta – tehtävä 1

Hello [Puppet] World!

Aloitetaan keskitetyn hallinnan kurssi tehtävällä 1.

Laitteistona tehtävissä toiminee Apple MacBook Pro Touch Bar (4 ThunderBolt ports) ja  sillä käyttöjärjestelmänä pyöritettävä VMWare pohjainen Linux Xubuntu 16.04.3 (LTS).. Miksikö virtuaalisena? Siksi, että Linux ei vielä tue käytössäni olevan konemallin (MacBookPro13,2) näppäimistöä ja kosketuslevyä suoraan esimerkiksi livetikulta tai suoraan levylle asennettuna ilman, että ensin asentaa paljon erillisiä paketteja.
Harrastelijoille linkki em. koneen saatamiseksi käyttökelpoiseksi: https://gist.github.com/roadrunner2/1289542a748d9a104e7baec6a92f9cd7

Aloitetaan h1 tehtävät siis päivittämällä pakettikanta:

sudo apt-get -y update

a) Asenna ja konfiguroi jokin muu demoni kuin Apache.

00.01 Asennetaan Puppet:

sudo apt-get install puppet

00.02 Testataan puppetin toimintaa:

puppet apply -e ‘file { “/tmp/helloPuppet”: content => “Hello Miikka!\n” }’

ja onnistumisesta merkiksi tuli oheinen teksti:

Notice: Compiled catalog for ubuntu.localdomain in environment production in 0.11 seconds
Notice: /Stage[main]/Main/File[/tmp/helloPuppet]/ensure: defined content as ‘{md5}bf43d9ec18ee779f123919bb1b0af937’
Notice: Finished catalog run in 0.02 seconds

helloPuppet tulostaa komentoriville: “Hello Miikka!

Sitten seuraavaksi asentamaan jokin muu demoni kuin Apache.. harjoituksen tehtävänannon yhteydessä mainitaan, että SSH:n asentaminen on yksinkertainen, joten päädyn nyt aluksi ainakin siihen.

00.05 Jotta tiedettäisiin, mitä SSH vaatii puppet-resursseihin, asennetaan ensiksi se normaalilla paketin asennuksella, hetken vaati selvittelyä, mikä olikaan asennuspaketin nimi, mutta oheisella toimii:

sudo apt-get install openssh-server

Tähän väliin harhauduin lukemaan SSH:n historiaa, koska alkuperä löytyy Suomesta Tatu Ylösen kehittämänä palveluna FTP.n ja TELNET.in lisäksi/korvaajaksi.

00.10 Mennään SSH.n asetusten kansioon ja katsotaan sen asetuksia komennolla:

cd /etc/ssh/

nano sshd_config

Puppetin käyttämiseksi mennään kansioon /etc/puppet/modules

Lisätään uusi moduuli ‘sshd’ ja mennään sinne

sudo mkdir sshd

cd sshd

Luodaan kansiot manifests ja templates

sudo mkdir manifests/ templates/

Mennään manifests kansioon ja luodaan init.pp tiedosto, johon tulee sshd asentamiseen vaadittavat tiedot:

cd manifests

sudoedit init.pp

johon lisätään seuraavaa muistaen, että puppet koodissa sisennykset merkitsevät (siksi kuvana):

Screenshot_2017-11-01_02-26-10

00.20 Testataan tehtyä:

Ensiksi kannattaa poistaa SSH:

sudo apt-get purge openssh-server*

jolloin tarkistamalla puppetin avulla paketti on tuhottu:

sudo puppet resource package openssh-server

package { ‘openssh-server’:
ensure => ‘purged’,
}

ja puppetin avulla uudelleen asennus:

sudo puppet apply –modulepath modules/ -e ‘class {“sshd”:}’

jolloin tulos:

sudo puppet resource package openssh-server

package { ‘openssh-server’:
ensure => ‘1:7.2p2-4ubuntu2.2’,
}

00.25 Periaatteessa tehtävänanto täyttyy tässä, mutta voisin kokeilla vielä lisätä packagen lisäksi filen ja servicen puppet moduuliin.

Eli, koska nyt on asennettu SSH, voidaan file osioon lisätä asetustiedosto. Manipuloidaan kuitenkin tiedostoa hieman, jotta nähdään puppetin todella asentavan sen mukaiset asetukset. Lisätään tiedoston loppuun kirjautumisyrityksiä max 5:

Screenshot_2017-11-01_10-15-56

Muokataan tiedostoa /sshd/manifests/init.pp:

Screenshot_2017-11-01_10-19-04

00.40 Testataan tomintaa:

poistetaan ensin SSH

sudo apt-get purge openssh-server*

package { ‘openssh-server’:
ensure => ‘purged’,
}

Ajetaan puppet asennus:

sudo puppet apply –modulepath modules/ -e ‘class {“sshd”:}’

Jaha, virhettä pukkaa?:

Screenshot_2017-11-01_10-24-51

00.45 Kokeillaan poistaa init.pp tiedostosta aiemmin lisätyt file ja service kohdat ja testataan uudelleen — edelleen sama virhe. Googlataan ongelmaa. Tähän ei enää löydykkään ratkaisua helposti. Väsymykseen pakko luovuttaa…

Linkki github repoon:

https://github.com/miikkahuuskonen/KeskitettyHallinta/tree/master/h1

 

Lähteet:

https://minnaleppala.wordpress.com/2017/10/29/ssh-demoni-puppet-moduulina/

http://terokarvinen.com/2013/ssh-server-puppet-module-for-ubuntu-12-04

http://terokarvinen.com/2017/simpler-puppet-manifests-resource-defaults-and-manifest-ordering

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

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

Twitter picture

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

Facebook photo

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

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s