Tag: ssh


Palvelinten hallinta kotitehtävät 4 (Syksy 2017)


Palvelinten hallinta kotitehtävät 4 (Syksy 2017)

Lähde  Tero Karvinen 2017: Palvelinten Hallinta, http://terokarvinen.com

Harjoitusympäristönä asennettu sekä livetikulta ajettu kustomoitu Xubuntu 16.04 LTS 3

Harjoituskoneen tiedot:

Emolevy X79A-GD65 (8D)

Prosessori Intel(R) Core(TM) i7-3930K

16GiB RAM

 

Viikon harjoitusten tavoitteena oli kokeilla Puppetin lisäksi kahta muuta keskitetyn hallinnan järjestelmää, Ansiblea ja Salt:ia.

Molemmat järjestelmät asennettiin ja niiden toimintaa testattiin yksinkertaisen “moduulin” avulla.

 

a) Kokeile Ansiblea

 

Testilaitteistona kaksi kappaletta Hyper-V:llä luotuja virtuaalikoneita, joille oli asennettu 64-bittinen Xubuntu 16.04.3 LTS versiot. Tavoitteena oli asentaa koneelle 1 Ansible ja määritellä asetukset niin, että luotu yksinkertainen moduuli voitiin ajaa koneella 2.

Harjoitus aloitettiin asentamalla “herra” -koneelle Ansible ja OpenSSH suojausavainten luontia varten

$ sudo apt-get update

$ sudo apt-get -y install openssh-server openssh-client ssh ansible

Seuraavaksi määriteltiin “orja” -virtuaalikoneen IP-osoite Ansiblen hosts -tiedostoon ryhmän [orja] alle

$ sudoedit /etc/ansible/hosts

 

Toiselle virtuaalikoneelle asennettiin samat SSH-ohjelmat, mutta Ansiblea ei tarvinnut asentaa kohdelaitteelle. Tässä vaiheessa varmistettiin vielä, että herra pystyi pingaamaan orjaa.

Seuraavaksi luotiin herrakoneelle salausavain, joka siirrettiin orjakoneelle. Avaimen toiminta testattiin ottamalla SSH-yhteys herrakoneelta orjakoneelle.

ssh-keygen -t rsa

ssh-copy-id orja@192.168.1.175

ssh orja@192.168.1.175

SSH-yhteys onnistui ilman salasanaa, mistä voitiin päätellä että avaimen siirto onnistui. Jatkettiin harjoitusta testaamalla orjakoneen pingausta Ansiblen avulla.

$ ansible orja -m ping

Tuloksena saatiin seuraava virheilmoitus

 

Lisäämällä -vvvv komentoon saatiin lisätietoja virheilmoituksesta.

 

Virheilmoituksesta ei suoraan saatu selvää, mikä ongelmana oli. Virheilmoituksen google-hakutulosten perusteella ongelman voi kiertää lisäämällä käyttäjän komentoon. Testausta jatkettiin seuraavalla komennolla:

$ ansible orja -m ping -u orja

Tällä kertaa komento meni läpi. Oletettavasti käyttäjää ei tarvitse lisätä komentoon jos käyttäjänimi on sama kummallakin laitteella. Seuraavaksi luotiin yksinkertainen Ansible playbook ajettavaksi orja-koneella.

$ nano hellosimo.yml

Tiedostoon määriteltiin hostit, joilla ks. playbook ajetaan sekä tehtävät jotka halutaan ajettavan. Tällä kertaa tehtävä oli luoda tekstitiedosto halutulla sisällöllä haluttuun kohteeseen.

---
- name: hellosimo
  hosts: orja
  tasks:
  - name: Luo /tmp/hellosimo.txt tiedosto halutulla sisällolla
    copy: content="Hello Simo!\n" dest=/tmp/hellosimo.txt

Luotu playbook ajettiin komennolla ansible-playbook hellosimo.yml -u orja. Komento meni läpi ilman ongelmia ja Ansiblen tulostus paljasti, että hostiin 192.168.1.175 tehtiin muutoksia. Siirtymällä orjakoneelle ja hakemalla tiedoston /tmp/hellosimo.txt voitiin todeta, että luotu playbook oli ajettu onnistuneesti orjakoneella.

 

Lähteet:

Ansible – A “hello world” Playbook

Joona Leppälahti – CCM/Ansible raportti

b) Kokeile Salt:tia

 

Tavoitteena oli luoda Vagrantin ja Virtualboxin avulla virtuaalikone, josta tehtäisiin rautakoneen Salt-minion, eli orjakone. Harjoitus aloitettiin poistamalla edelliset virtuaalikonekokeilut.

$ vagrant destroy
$ rm Vagrantfile
$ vagrant init bento/ubuntu-16.04
$ vagrant up
$ vagrant ssh

Seuraavaksi asennettiin luodulle virtuaalikoneelle salt-minion ja määriteltiin sen herraksi testikoneen IP-osoite.

$ sudo apt-get update && sudo apt-get -y install salt-minion
$ sudoedit /etc/salt/minion

$ sudo service salt-minion restart

minion -asetustiedosto sisältää pelkkää kommenttia, jonka voi tyhjentää tai säästää myöhempää käyttöä varten. Virtuaalikoneen minion -tiedosto tyhjennettiin ja lisättiin rivi master: IP-osoite osoittamaan rautakoneen IP-osoitteeseen. Lopuksi käynnistettiin salt-minion -palvelu uudestaan, jotta orja ymmärtäisi hakea uutta määriteltyä isäntää. Tämän jälkeen siirryttiin testikoneelle asentamaan salt-master ja muokkaamaan asetuksia.

$ sudo apt-get update && sudo apt-get -y install salt-master
$ sudo salt-key list

vagrant.vm -orjakone löytyi hyväksymättömien avainten listasta (ks. kuva). Avaimen hyväksymisen jälkeen ajettiin komento, jolla hyväksytyillä orjakoneilla voitiin ajaa komentoja.

 

$ sudo salt-key --accept vagrant.vm
$ sudo salt '*' cmd.run "hostname -I"

Komennolla ajettiin siis kaikissa (‘*’) hyväksytyissä salt-slave -koneissa komento “hostname -I”. Tällä kertaa orjia ei ollut kuin yksi. Lopputuloksena voitiin todeta, että herra- ja orjakoneen asetukset toimivat ja harjoitusta voitiin jatkaa. Lopuksi testailtiin komentoja orjakoneille. Paketin asennus ja tietojen hankkiminen orjakoneelta onnistuivat mainiosti.

$ sudo salt '*' pkg.install tree    //paketin asennus
$ sudo salt '*' disk.usage    //kovalevyn tietoja

Lähteenä käytettiin SaltStackin Salt in 10 Minutes -tutoriaalia ja Tero Karvisen kirjoitusta.

 

 

 

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 3 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html

Simo Suominen


Linux palvelimet – kotitehtävät 6


Linux-palvelimet kotitehtävät 6

Lähde  Tero Karvinen 2017: Linux kurssi, http://terokarvinen.com

Harjoitusympäristönä Ubuntu 17.04 (Zesty Zapus) Daily Build

Harjoituskoneen tiedot:

Emolevy X79A-GD65 (8D)

Prosessori Intel(R) Core(TM) i7-3930K

16GiB RAM

Näytönohjain GeForce GTX 690

Ota käyttöön oma virtuaalipalvelin (VPS).

Harjoituksen tavoitteena on ottaa käyttöön oma virtuaalipalvelin Linux-käyttöjärjestelmällä ja varmistaa palvelimen tietoturva luomalla palvelimelle käyttäjä ja käynnistämällä ja konfiguroimalla palomuuri.

Virtuaalipalvelimen tarjoajaksi on valittu DigitalOcean -palvelu, joka on todettu helppokäyttöiseksi ja luotettavaksi palveluksi. Tämän lisäksi palveluun saa 50$ aloitusrahaa Github student developer -paketin kautta.

Virtuaalipalvelimen luonti

Lähtötilanteessa palveluun on rekisteröidytty ja voidaan luoda oma virtuaalipalvelin (Droplet).

Selection_016.png

Käyttöjärjestelmäksi valittiin viimeisin Ubuntun LTS (Long Term Support) versio. Palvelimen tehovaatimuksissa ensimmäisenä tulee vastaan vähäinen keskusmuistin määrä, joten halvin vaihtoehto jätettiin väliin ja valittiin 10 $/kk maksava palvelin.

Palvelimen sijaintia päätettäessä tulee miettiä mistä päin suurin osa palvelimen asiakkaista ottaa yhteyden palvelimeen. Lisäksi tietyt lain pykälät saattavat vaikuttaa palvelimen sijainnin valintaan. Harjoitustyössä palvelimen sijainniksi valittiin Frankfurt. Lopuksi valittiin palvelimien määrä (1) ja geneerinen nimi palvelimelle. Lisäpalveluita ei otettu.

Kun palvelin on luotu, käyttäjä saa sähköpostiinsa viestin, jossa on palvelimen salasana root-käyttäjälle.  Palvelimeen voi ottaa yhteyttä palvelun verkkosivun konsolin kautta tai suojatulla SSH-yhteydellä. Harjoitustyössä käytettiin SSH-yhteyttä testikoneen komentokehotteen kautta.

Palvelimen konfigurointi

$ ssh root@palvelimenip //kirjauduttiin palvelimelle

$ sudo ufw allow 80/tcp //sallittiin http-yhteys palomuurin läpi 

$ sudo ufw allow 22/tcp //sallittiin SSH-yhteydet palomuurin läpi

$ sudo ufw enable //käynnistettiin palomuuri

$ sudo adduser suomisim //lisättiin käyttäjä suomisim. HUOM. KUNNON SALASANA!

$ sudo adduser suomisim sudo //lisättiin käyttäjä ryhmään sudo

$ sudo adduser suomisim adm //lisättiin käyttäjä ryhmään adm

$ sudo adduser suomisim admin //lisättiin käyttäjä ryhmään admin

Seuraavaksi avattiin toinen komentokehote ja testattiin luotuja tunnuksia. Root-tunnuksilla jäätiin vielä palvelimelle varmistamaan, että ongelmat voidaan korjata jos niitä esiintyy. Kun sudo-tunnusten toimivuus on varmistettu, voitiin lukita root-tunnus palvelimelle.

$ ssh suomisim@palvelimenip //kirjaudutiin palvelimelle luodulla käyttäjällä

$ sudo apt-get update && sudo apt-get -y upgrade //testattiin sudo-oikeuksia

$ sudo usermod --lock root //lukittiin root-käyttäjä

Lopuksi voitiin todeta, että virtuaalipalvelin oli otettu onnistuneesti käyttöön. Aikaa operaatioon ja dokumentointiin kului  35 minuuttia.

Asenna weppipalvelin virtuaalipalvelimeesi

Harjoitusta jatkettin aiemmin asennetun ja konfiguroidun virtuaalipalvelimen kanssa. Palvelimeen asennettiin Apache 2 -webpalvelin ja muokattiin Apachen oletussivua.

$ ssh suomisim@palvelimenip //otettiin yhteys palvelimeen

$ sudo apt-get update 

$ sudo apt-get -y install apache2 //apache2 -palvelimen asennus

$ sudoedit /var/www/html/index.html //oletuswebsivun muokkaus

index.html -tiedoston sisältö korvattiin yksinkertaisella html-testisivulla. Tässä vaiheessa huomattiin, että ääkköset eivät toimineet palvelimella. Seuraavasta lähteestä löytyi apua ongelmaan, joka ratkesi seuraavilla komennoilla:

$ sudo apt-get install language-pack-fi

$ sudo locale-gen fi_FI.UTF-8

$ sudo update-locale

Tämän jälkeen siirtymällä selaimella palvelimen IP-osoitteeseen saatiin näkyviin testisivu, johon saatiin nyt lisättyä myös ääkkösiä. Aikaa Apache2 -palvelimen asennukseen ja sivun muokkaukseen kului 5 minuuttia + 15 minuuttia kieliongelmien selvittämiseen.

Selection_022.png

 Laita domain-nimi osoittamaan virtuaalipalvelimeesi

Harjoituksen tavoitteena on ottaa käyttöön domain virtuaalipalvelimelle. Harjoitusta varten valittiin Namecheap -palvelu, joka on luotettava  sekä tarjoaa opiskelijoille pientä alennusta ylempänä mainitun paketin kautta. Palvelussa varmistetaan ensin halutun domain-osoitteen saatavuus ja ostetaan haluttu osoite. Github-paketin kautta tilattuna osoitteesta saa pienen alennuksen tai vaihtoehtoisesti .me -osoitteen saa vuodeksi ilmaiseksi. Huonona puolena palvelu pakottaa .me -osoitteen ostoskoriin sekä Githubin ilmaisen ominaisuuden jollekin ostetulle domainille.

Selection_017.png

Seuraava askel vaatii rekisteröitymistä palveluun sekä luottokorttimaksua palvelusta. Namecheap tarjoaa aggressiivisesti mahdollisuutta yhteistoimintaan Githubin kautta. Kuvaan piilotetun sinisen linkin kautta päästiin kuitenkin itse konfiguroimaan asetuksia.Selection_018.png

Palvelun etusivulla voitiin huomata, että oletuksena molemmilla domaineilla ja kaikilla palveluilla oli auto-renew -toiminto päällä. Koska .me -domainia ei alun perin edes haluttu mukaan eikä sähköpostipalvelua aiottu ottaa käyttöön, pyrittiin minimoimaan ylimääräiset kulut ja jätettiin ainoastaan domain simosuominen.com auto-renew tilaan. Syystä tai toisesta simosuominen.me -domainin sähköpostin auto-renew -toiminto piti käydä erikseen poistamassa alla olevan kuvan valikosta kohdasta Manage.

Selection_020.png

simosuominen.com -domainin asetuksia päästiin siirtymällä Domain list -> Manage. Harjoituksessa käytettiin Advanced DNS -näkymää, joka oli allekirjoittaneelle selkeämpi tapa muokata asetuksia. Alla olevassa kuvassa on kuvattu yksinkertainen konfiguraatio, jolla domain simosuominen.com saatiin viittaamaan Digitaloceanin kautta käyttöön otettuun virtuaalipalvelimeen ja ylempänä tehtyyn Simon Testisivu -websivuun. Palvelimen IP-osoite on sutattu kohdasta Value.Selection_023.png

Tee weppisivu omalle virtuaalipalvelimellesi käyttäen Apachen VirtualHost-asetusta.

Jatkettiin harjoitusta samalla palvelimella ja kokoonpanolla. Tavoitteena oli toteuttaa toinen websivu samalla palvelimella käyttäen Apachen VirtualHost -asetusta. Harjoitusta varten omistettu simosuominen.me -domain oli ohjattu osoittamaan käytettyyn virtuaalipalvelimeen.

$ ssh suomisim@palvelimenip //kirjautuminen palvelimelle

$ mkdir /home/suomisim/html/simome //luotiin kansio simosuominen.me sivustolle

$ nano /home/suomisim/html/simome/index.html //luotiin websivu kansioon

$ sudoedit /etc/apache2/sites-available/simome.conf //luotiin asetustiedosto sivustolle

simome.conf -tiedostoon tehtiin tarvittavat ohjaustiedot (ks. kuva)

Terminal - suomisim@lapikas: ~-html-simome_024.png

$ sudo a2ensite simome.conf //otettiin sivu käyttöön

$ sudo service apache2 restart //käynnistettiin Apache 2 uudestaan

Harjoituksen lopputuloksena virtuaalipalvelimella pyörii kaksi eri verkkosivustoa, simosuominen.com ja simosuominen.me

Selection_025.png

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 3 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html” Simo Suominen


Linux palvelimet – kotitehtävät 2

Lähde  Tero Karvinen 2017: Linux kurssi, http://terokarvinen.com

Harjoitusympäristönä Ubuntu 17.04 (Zesty Zapus) Daily Build

Harjoituskoneen tiedot:

Emolevy X79A-GD65 (8D)

Prosessori Intel(R) Core(TM) i7-3930K

16GiB RAM

Näytönohjain GeForce GTX 690

Aiheuta lokiin kaksi eri tapahtumaa: yksi esimerkki onnistuneesta ja yksi esimerkki epäonnistuneesta tai kielletystä toimenpiteestä. Analysoi rivit yksityiskohtaisesti.

Avattiin terminal emulator. Tutkittiin /var/log/apt/history.log -tiedostoa, johon tallentui asennettujen ja päivitettyjen ohjelmien asennustietoja. Annettiin komento tail -F /var/log/apt/history.log. Komento näytti 10 viimeistä riviä ks. tiedostosta ja päivittyi tämän jälkeen automaattisesti ruudulle, jos tiedosto muuttuu. Jätettiin loki seurantaan ja avattiin toinen terminal emulator.

Asennettiin Shutter (komennot sudo apt-get update + sudo apt-get install shutter). History.log päivittyi automaattisesti seuraavalla litanialla:

Start-Date: 2017-01-26 17:27:21
Commandline: apt-get install shutter
Requested-By: xubuntu (999)

Install: libglade2-0:amd64 (1:2.6.4-2, automatic), libimage-magick-perl:amd64 (8:6.9.6.6+dfsg-1ubuntu3, automatic), libgnomecanvas2-common:amd64 (2.30.3-3, automatic), libgnomeui-0:amd64 (2.24.5-3.1, automatic), libxml-sax-base-perl:amd64 (1.07-1, automatic), libgoo-canvas-perl:amd64 (0.06-2ubuntu2, automatic), libhttp-server-simple-perl:amd64 (0.51-1, automatic), libimage-magick-q16-perl:amd64 (8:6.9.6.6+dfsg-1ubuntu3, automatic), libgnome2-perl:amd64 (1.046-3build1, automatic), libgnome2-vfs-perl:amd64 (1.082-1build3, automatic), libgtkimageview0:amd64 (1.6.4+dfsg-1.1, automatic), libjson-perl:amd64 (2.90-1, automatic), libxml-sax-perl:amd64 (0.99+dfsg-2ubuntu1, automatic), libgtk2-unique-perl:amd64 (0.05-2ubuntu2, automatic), libindicator7:amd64 (16.10.0+16.10.20160913-0ubuntu1, automatic), libdata-random-perl:amd64 (0.12-1, automatic), libextutils-pkgconfig-perl:amd64 (1.15-1, automatic), libwww-mechanize-perl:amd64 (1.83-1, automatic), libpath-class-perl:amd64 (0.37-1, automatic), libbonobo2-common:amd64 (2.32.1-3, automatic), libgnome2-wnck-perl:amd64 (0.16-3build3, automatic), libnet-dropbox-api-perl:amd64 (1.9-1, automatic), libgoocanvas-common:amd64 (1.0.0-1, automatic), libbonoboui2-common:amd64 (2.24.5-4, automatic), libgtk2-imageview-perl:amd64 (0.05-2build3, automatic), libpango-perl:amd64 (1.227-1build1, automatic), libjson-xs-perl:amd64 (3.030-1, automatic), shutter:amd64 (0.93.1-1.3), libcairo-perl:amd64 (1.106-1build2, automatic), libgd-perl:amd64 (2.53-3build1, automatic), libclass-method-modifiers-perl:amd64 (2.12-1, automatic), libx11-protocol-other-perl:amd64 (29-2, automatic), libgnomeui-common:amd64 (2.24.5-3.1, automatic), libgnome2-gconf-perl:amd64 (1.044-6build1, automatic), libcrypt-openssl-rsa-perl:amd64 (0.28-5, automatic), libtypes-serialiser-perl:amd64 (1.0-1, automatic), libgnome-2-0:amd64 (2.32.1-5ubuntu1, automatic), libcrypt-openssl-bignum-perl:amd64 (0.07-2, automatic), libglib-perl:amd64 (3:1.323-1, automatic), libappindicator1:amd64 (12.10.1+17.04.20161129-0ubuntu1, automatic), libxml-namespacesupport-perl:amd64 (1.11-1, automatic), libcommon-sense-perl:amd64 (3.74-2, automatic), libxml-libxml-perl:amd64 (2.0128+dfsg-1build1, automatic), libbonoboui2-0:amd64 (2.24.5-4, automatic), libgnome2-canvas-perl:amd64 (1.002-4build1, automatic), libnet-oauth-perl:amd64 (0.28-2, automatic), libsort-naturally-perl:amd64 (1.03-1, automatic), libgnomevfs2-common:amd64 (1:2.24.4-6.1ubuntu2, automatic), libclass-data-inheritable-perl:amd64 (0.08-2, automatic), libmouse-perl:amd64 (2.4.6-1, automatic), libgoocanvas3:amd64 (1.0.0-1, automatic), libgtk2-appindicator-perl:amd64 (0.15-1build4, automatic), libxml-sax-expat-perl:amd64 (0.40-2, automatic), libgnomevfs2-0:amd64 (1:2.24.4-6.1ubuntu2, automatic), libextutils-depends-perl:amd64 (0.405-1, automatic), libproc-simple-perl:amd64 (1.32-1, automatic), liborbit-2-0:amd64 (1:2.14.19-2, automatic), libgnomecanvas2-0:amd64 (2.30.3-3, automatic), libbonobo2-0:amd64 (2.32.1-3, automatic), perlmagick:amd64 (8:6.9.6.6+dfsg-1ubuntu3, automatic), libgtk2-perl:amd64 (2:1.2499-1, automatic), libgnome2-common:amd64 (2.32.1-5ubuntu1, automatic), libproc-processtable-perl:amd64 (0.53-2, automatic), libgnomevfs2-extra:amd64 (1:2.24.4-6.1ubuntu2, automatic), libfile-which-perl:amd64 (1.21-1, automatic), libxml-simple-perl:amd64 (2.22-1, automatic)

End-Date: 2017-01-26 17:27:29

Lokissa näkyi operaation aloitusaika, annettu komento ja komennon antaja (livetikun oletuskäyttäjä Xubuntu). Itse ohjelman lisäksi asennettiin tarvittavat kirjastot, joista lokissa voitiin nähdä eri kirjastojen nimet, asennettu versionumero sekä alustaversio (amd64). Lopussa näkyi operaation lopetusaika.

Virheilmoitus saatiin /var/log/auth.log -tiedostoon otettaessa SSH-yhteyttä omaan palvelimeen ja tarjoamalla väärää salasanaa kirjautuessa.

Jan 26 19:36:40 xubuntu sshd[7572]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=sensuroituiposoite  user=simppa
Jan 26 19:36:42 xubuntu sshd[7572]: Failed password for simppa from sensuroituiposoite port 48348 ssh2
Jan 26 19:36:50 xubuntu sshd[7572]: message repeated 2 times: [ Failed password for simppa from sensuroituiposoite port 48348 ssh2]
Jan 26 19:36:50 xubuntu sshd[7572]: Connection closed by sensuroituiposoite port 48348 [preauth]
Jan 26 19:36:50 xubuntu sshd[7572]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=sensuroituiposoite user=simppa

Lokissa näkyi operaation aloitus- ja lopetusaika sekä tarkempi virheilmoitus. Lisäksi siitä kävi ilmi kirjautumista yrittäneen tahon käyttäjätunnus ja ip-osoite sekä käytetty portti.

Asenna SSH-demoni. Kokeile omalla ssh-palvelimellasi jotain seuraavista: ssh-copy-id, sshfs, scp tai git. (Helpoin lienee scp: ‘scp foo.txt tero@example.com:’)

Asennettiin demoni komennoilla sudo apt-get update + sudo apt-get install ssh.

Koska kyseessä oli livetikku, käytössä oli oletuskäyttäjä (Xubuntu) eikä salasanaa oltu määritetty. Luotiin uusi käyttäjä komennolla sudo adduser simppa. Seuraavaksi täytettiin käyttäjän tiedot, mm. vahva salasana.

Tämän jälkeen selvitettiin oma ip-osoite komennolla ip addr show. Kun IP-osoite oli selvä voitiin kirjautua myös SSH:n avulla, komennolla ssh simppa@sensuroituiposoite ja antamalla äsken luotu vahva salasana. Seuraavaksi kokeiltiin siirtää tiedosto SCP-komennon avulla, alla suora mutta ip-sensuroitu kopio terminal emulatorista:

simppa@xubuntu:~$ ls
 simppa@xubuntu:~$ exit
 logout
 Connection to sensuroituip closed.
 xubuntu@xubuntu:~$ ls
 Desktop Downloads Music Public Videos
 Documents foo.txt Pictures Templates
 xubuntu@xubuntu:~$ scp foo.txt simppa@sensuroituip:
 simppa@sensuroituip's password: 
 foo.txt 100% 12 63.5KB/s 00:00 
 xubuntu@xubuntu:~$ ssh simppa@sensuroituip
 simppa@sensuroituip's password: 
 Welcome to Ubuntu Zesty Zapus (development branch) (GNU/Linux 4.9.0-12-generic x86_64)

* Documentation: https://help.ubuntu.com
 * Management: https://landscape.canonical.com
 * Support: https://ubuntu.com/advantage
 Last login: Thu Jan 26 19:43:22 2017 from sensuroituip
 simppa@xubuntu:~$ ls
 foo.txt

Eli harjoituksessa kopioitiin onnistuneesti käyttäjän Xubuntu kansiosta tiedosto foo.txt käyttäjän simppa kansioon SSH-demonin avulla. ls -komennolla varmistettiin alussa, että käyttäjän kotikansiossa ei ollut foo.txt tiedostoa ja lopuksi sama komento varmisti, että tiedosto oli siirtynyt kotikansioon.

Tee unelmien apt-get -komento: yksi komentorivi, joka asentaa suosikkiohjelmasi.

Alla olevalla komennolla asennettiin päivittäin tarvittavat ohjelmat + LAMP-alusta testikoneelle asennettuun Linuxiin. Komentoa päivitetään sitä mukaa, kun tutustutaan uusiin hyödyllisiin ohjelmiin.

sudo apt-get update && sudo apt-get -y install vlc shutter geany ssh gimp tree alsa-utils unity-tweak-tool apache2 mysql-client mysql-server libapache2-mod-php php-mysql curl lynx

Asenna paketinhallinnasta kolme itsellesi uutta komentorivillä toimivaa ohjelmaa. Kokeile kutakin ohjelmaa sen pääasiallisessa käyttötarkoituksessa.

Testikoneen kanssa oli aluksi suuria ongelmia äänentoiston kanssa. Asensin ongelmia ratkaisemaan Alsamixer -ohjelman komennoilla sudo apt-get update -> sudo apt-get install alsa-utils. Tämän jälkeen käynnistin ks. ohjelman komennolla alsamixer.

Terminal - xubuntu@xubuntu: ~_001.png

Alsamixerillä valittiin oikea äänikortti painamalla F6 (Xonar DGX) ja muutettiin nuolinäppäimillä analogisen ulostulon arvoksi Multichannel, jolloin sain äänet toimimaan kuulokkeiden kautta.

Seuraavaksi asennettiin Nethack, komennoilla sudo apt-get install nethack-console. Peliä pelataan numpadin avulla, joten numpad otettiin käyttöön pelissä komennolla echo “OPTIONS=number_pad:1”>$HOME/.nethackrc (lähde). Peli käynnistyy komennolla nethack. Peli toimi mainiosti, mutta allekirjoittanut vannoo ADOM nimeen Nethackin sijaan.

Terminal - suomisim@Thor: ~_001.png

Lopuksi asennettiin Lm-sensors seuraamaan testikoneen raudan lämpötiloja. Lähteenä asennukseen käytettiin tätä ohjetta ja suoritettiin seuraavat komennot:

$ sudo apt-get install lm-sensors // itse ohjelman asennus

$ sudo sensors-detect //ohjelma kävi läpi laitetietoja ja kysyi lisätietoja. Painettiin ENTER, jolloin hyväksyttiin oletusvalinnat

$ sudo sensors  //saatiin lämpötilatiedot komentokehotteeseen

Terminal - suomisim@Thor: ~_002.png

Ratkaise Over the wire: Bandit, tasot 0 ja 1.
http://overthewire.org/wargames/bandit/bandit0.html

Harjoitus aloitettiin käynnistämällä terminal emulator ja asentamalla SSH komennolla sudo apt-get update + sudo apt-get install ssh. Seuraavaksi otettiin SSH-yhteys bandit0 käyttäjänä serveriin bandit.labs.overthewire.org, käytetty komento oli ssh bandit0@bandit.labs.overthewire.org. Näin selvitettiin taso 0.

Salasana seuraavalle tasolle oli piilotettu serverille /home/readme -tiedostoon. Salasana löytyi komennolla cat /home/bandit0/readme. Seuraavaksi kopioitiin salasana leikepöydälle ja poistuttiin edelliseltä tasolta komennolla exit. Kirjauduttiin seuraavalle tasolle ohjeiden mukaan komennolla ssh bandit1@bandit.labs.overthewire.org ja annettiin salasanaksi edellisessä kohdassa kopioitu salasana.

Seuraavan salasanatiedoston nimeksi oli asetettu “-“. Tällöin tiedostoa käsiteltäessä esim. cat-komennolla on käytettävä tiedoston koko polkua (lähde). Seuraava salasana selvisi siis komennolla cat /home/bandit1/-

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 3 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html” Simo Suominen