Linux palvelimet h5: SSH

Tässä harjoituksessa kerrattiin SSH:ta.

Tein harjoitusta torstaina 22.2.2018 Lenovon ideapad Z500:lla. Klo 15:20-17:30. Lisäksi perjantaina 23.2.2018 klo 18:30-20:00. Sunnuntaina 25.2.2018 klo 20:30-22:08.

Tehtävänanto löytyy Tero Karvisen sivuilta: http://terokarvinen.com/2017/aikataulu-%E2%80%93-linux-palvelimet-ict4tn021-7-ti-ja-6-to-alkukevat-2018-5-op kohdasta h5. Sivun mukaan tehtävät ovat:

“a) Asenna SSH-demoni
b) Suojaa kone tulimuurilla, mutta tee ensin reikä SSH:lle
c) Siirrä tiedostoja ssh:lla
d) Automatisoi kirjatuminen julkisen avaimen menetelmällä
j) Asenna ja konfiguroi ja käynnistä sysstat-paketti. Tarkista sar-komennolla, että se on päällä, esim. näyttää lokimerkinnän “Linux reboot…”. Anna sysstatin pyöriä päivä tai pari. Tutki kuormitushistoriaa sysstatin komennoilla sar, iostat, pidstat… Analysoi tulokset, eli selitä perusteellisesti mitä tulokset tarkoittavat.”
Tässä harjoituksessa pohjana on käytetty Tero Karvisen oppituntia 13.2.2018 Linux palvelimet -kurssilla sekä hänen nettisivujaan: http://terokarvinen.com/.

SSH-demoni ja tulimuuri

Käynnistin Ubuntun muistitikulta ja pääsin siis aloittamaan tyhjästä. Ensin asetin näppäimistön kieleksi suomen: “setxkbmap fi” ja “sudo apt-get update” sekä “sudo apt-get upgrade“.  Käytin SSH-demonin asentamiseen Tero Karvisen ohjetta: http://terokarvinen.com/2008/install-apache-web-server-on-ubuntu-4

Seuraavaksi: “sudo apt-get install ssh“, “ssh ubuntu@192.168.0.106“.  Nyt törmäsin ongelmaan, sillä kysyttiin salasanaa. En kuitenkaan ollut asettanut mitään salasanaa tähän istuntoon, joten painoin enter. Ei päästänyt eteenpäin. Keskeytin “CTRL+C” ja kirjoitin “passwd ubuntu“. Nyt pääsin asettamaan salasanan. Yritin uudestaan avata SSH-yhteyden ja nyt se onnistui.

Tulimuurin asennukseen vilkaisin ohjetta taas Tero Karvisen sivuilta: http://terokarvinen.com/2016/instant-firewall-sudo-ufw-enable. Käytin komentoa “sudo ufw allow 22/tcp“, jotta ei kiellettäisi SSH-yhteyttä, kun muuri laitetaan päälle. Tämän jälkeen “sudo ufw enable“. Sitten vielä “Y“, kun kysyttiin halutaanko varmasti jatkaa. Tuli ilmoitus, että tulimuuri on toiminnassa.

 

SCP ja kirjautumisen automatisoiminen

Seuraavaksi piti kopioida tiedostoja scp-komennolla. suljin SSH-yhteyden “exit“- komennolla. Loin uuden kansion “mkdir tammikuu” ja sinne tiedoston “nano juttuja.txt“:

scp_testi1

Tallensin: “CTRL-X” ja “Y + Enter“. Päätin koittaa siirtää tämän. Loin SSH-yhteydelle toisen käyttäjän: “sudo adduser jp“. Katsoin apua täältä: https://help.ubuntu.com/community/AddUsersHowto. Asetin uuden salananan. Kokeilin avata yhteyttä: “ssh jp@192.168.0.106“. Onnistui. Sitten “exit” ja yritin siirtää tiedoston. Tähän käytin apuna: https://www.linux.fi/wiki/SCP. Kirjoitin komennon
scp ~/tammikuu/juttuja.txt jp@192.168.0.106:~/” ja annoin salasanan. Avasin SSH-yhteyden jp:lle ja menin katsomaan, oliko sinne siirtynyt mitään:

scp_testi2

Seuraavaksi oli tarkoitus saada tehtyä automaattinen kirjautuminen julkisen avaimen menetelmällä. Käytin tähän apuna: http://terokarvinen.com/2008/ssh-public-key-authentication-2. Ensin “exit“, jotta suljin SSH-yhteyden. Annoin komennon “ssh-keygen -t dsa” ja sen jälkeen painoin enteriä kolmisen kertaa. Tämän jälkeen menin ohjeen mukaan “cd /home/ubuntu/.ssh” kansioon ja “ls“-komennolla tarkistin, että tuo id_dsa.pub löytyy sieltä. Sitten komento “sftp ubuntu@192.168.0.106“. Annoin salasanan ja sen jälkeen: “put id_dsa.pub” ja sitten “exit“. Avasin SSH-yhteyden: “ssh ubuntu@192.168.0.106” ja tarkistin “ls“, että tuo id_dsa.pub löytyy sieltä. Käytin ohjeen mukaan komentoja “cat id_dsa.pub >>.ssh/authorized_keys” sekä “chmod og-rxw $HOME/.ssh $HOME/.ssh/authorized_keys“. Tämän jälkeen suljin taas yhteyden ja kokeilin avata sen uudelleen. Nyt jos se ei olisi kysynyt salasanaa, olisi tuo avaimen luonti onnistunut. Minulta kuitenkin kysyttiin taas salasanaa, kun annoin komennon “ssh ubuntu@192.168.0.106“. Kokeilin avata yhteyden uudestaan vielä pari kertaa, mutta ei mennyt läpi ilman salasanaa. Olin kuitenkin tunnilla onnistunut tuon tekemään, joten katson harjoitusta myöhemmin uudestaan.

Päätin kokeilla tuota automaattista kirjautumista uudelleen. Näin omasta komentohistoriasta, mitä komentoja olin käyttänyt aiemmassa, onnistuneessa, harjoituksessa. Sieltä kuitenkin näytti puuttuvan jotkin komennot, joten löysin jonkinlaisen ohjeen täältä: https://help.ubuntu.com/community/SSH/OpenSSH/Keys. Ensin siis tarkistin IP-osoitteeni: “hostname -I” ja sitten loin uuden käyttäjän: “sudo adduser jptesti“. Annoin uuden salasanan kahteen kertaan ja sitten nimen. Muissa kohdissa painoin enteriä ja lopuksi kysyi, että onko tiedot oikein. Siihen “Y” ja enter. Päätin antaa varalta sudo-oikeuden tuolle testikäyttäjälle: “sudo adduser jptesti sudo“.

Avasin SSH-yhteyden: “jptesti@192.168.0.106” ja annoin salasanan. Tämän jälkeen annoin seuraavat komennot: “mkdir ~/.ssh” (loin tuollaisen ~/.ssh-kansion), “chmod 700 ~/.ssh” ja “ssh-keygen -t rsa“. En ihan ymmärtänyt, mitä tuo chmod 700 tarkoitti, joten pienen googlettelun jälkeen tulin siihen tulokseen, että se liittyy lupiin: https://mediatemple.net/community/products/dv/204644740/using-ssh-keys-on-your-server. Tämän jälkeen painoin kolme kertaa enteriä ja julkisen avaimen pitäisi nyt olla kotihakemistossa. Laitoin “exit” ja sen jälkeen “ssh-copy-id jptesti@192.168.0.106“. Pyysi vielä jptesti salasanan. Sen annettuani tuli kehoitus yrittää avata SSH-yteys. Laitoin “ssh jptesti@192.168.0.106” ja sain kirjauduttua sisälle ilman salasanaa:

publickey_testi

Asenna, konfiguroi ja käynnistä sysstat-paketti

Tähän harjoitukseen käytin lähteenä: http://www.leonardoborda.com/blog/how-to-configure-sysstatsar-on-ubuntudebian/.

Aloitin asentamalla sysstatin: “sudo apt-get install -y sysstat“. Tämän jälkeen pitäisi käsittääkseni sallia statistiikan keräys ja sen tein antamalla komennon “sudo vi /etc/default/sysstat“. ENABLED-kohdassa lukee “false” ja se pitäisi muuttaa “true”. ja sitten tallentaa. Koitin antaa tuon sudo vi -komennon, mutta en jostain syystä saanut kirjoitettua falsen tilalle true. Menin pois tuosta “:q” + enter ja kokeilin “sudoedit /etc/default/sysstat“. Nyt sain muutettua sen. Sitten tallennus: CTRL+X ja Y + enter. Seuraavaksi olisi pitänyt laittaa Sysstat keräämään tietoja kahden minuutin välein kymmenen minuutin sijasta. Mutta koska tämän on tarkoitus pyöriä pari päivää, ajattelin, että voin jättää tuon kymmenen minuutin välein oletuksen sinne. Seuraavaksi uudelleenkäynnistin Sysstatin: “sudo service sysstat restart“. Kokeilin vielä tuota “sar -A” komentoa ja totesin, että kellonaika ja päivämäärä olivat oikein.

Parin päivän jälkeen avasin koneen ja aloin tutkailla, mitä tietoa Sysstat oli kerännyt. Ensin tein päivitykset: “sudo apt-get update” ja “sudo apt-get upgrade“. Tämän jälkeen käytin “sar“-komentoa:

sysstat1

Ensimmäisenä tuossa ilmotetaan Linuxin kerneliversio (käyttöjärjestelmän ydin) sekä suluissa koneen nimi. Lähteenä tässä käytin: https://www.ubuntuupdates.org/package/canonical_kernel_team/artful/main/base/linux-image-4.13.0-36-generic. Seuraavaksi on päivämäärä ja sen jälkeen (x86) käsittääkseni ilmoitetaan millainen prosessori (tai ohjesetti?) on käytössä, sekä sen versio, eli 64 bittinen. Tähän käytin lähteenä Wikipediaa: https://en.wikipedia.org/wiki/X86-64. 8 CPU tarkoittaa, että koneessa on kahdeksan suoritinta. Tarkistin tämän etsimällä, miten näkee koneen suorittimien lukumäärän: https://www.binarytides.com/linux-cpu-information/. Käytin tuolta komentoa “lscpu” ja näin, että CPU(s): 8. Sitten on kellonaika (oli samassa ajassa) sekä ilmeisesti tapahtuma, mikä oli (LINUX RESTART). Käynnistin siis tuohon aikaan koneen. Sen jälkeen on varmaankin taas tuo suorittimien lukumäärä.

Seuraavaksi käytin “iostat“-komentoa. Tällainen oli tulos:

sysstat2

Tuossa ensimmäisellä rivillä on samat asiat, mitä sar-komennolla näki. Seuraavalla rivillä näkyy resurrit, jotka ovat käytettävissä, sekä niiden käyttöprosentti. Tähän löysin tiedon täältä: https://dom.as/2009/03/11/iostat/.

Tuo Device: sda tarkoittanee ensimmäistä levyasemaa. Sd käsittääkseni tarkoittaa (levy)asemaa (drive) ja a sen perässä kertoo, mones asema on kyseessä. Tähän löysin tietoa täältä: https://superuser.com/questions/558156/what-does-dev-sda-for-linux-mean. Seuraaviin kohtiin (tps – kB_wrtn) käytin dba-oraclen sivua: http://www.dba-oracle.com/linux/displaying_io_stats.htm. Tuo tps ehkä tarkoittaa, kuinka monta siirtoa (tai siirtopyyntöä) per sekunti on annettu laitteelle (huono suomennos, lähteen mukaan: “tps: The number of transfers (I/O requests) per second issued to the device”). Eli tässä tapauksessa noita pyyntöjä näyttäisi tulevan 21,23 sekunnissa. Tuo kB_read/s tarkoittaa, kuinka monta kilotavua per sekunti luetaan laitteesta. kB_wrtn/s: kuinka monta kilotavua per sekunti kirjoitetaan. kB_read: kuinka monta kilotavua on yhteensä luettu. kB_wrtn: kuinka monta kilotavua on yhteensä kirjoitettu. Tässä tapauksessa noita luettuja on aika paljon enemmän kuin kirjoitettuja.

Seuravaksi käytin “pidstat“-komentoa. Sillä sai tällaisen näkymän:

sysstat3

Ensimmäisellä rivillä näkyy taas koneen tietoja. Sitten on kellonaika (edelleen oikein). UID on numero, joka annetaan järjestelmän käyttäjille. Esimerkiksi pääkäyttäjän UID on aina 0. Tuossa kuvassa näkyisi olevan aika monta nollaa. Lähde tähän: https://www.linux.fi/wiki/UID. Seuraaviin kohtiin (PID – Command) käytin lähteenä: https://linux.die.net/man/1/pidstat. PID on seurattavan tehtävän tunnistenumero. %usr: kuinka monta prosenttia keskusprosessoria käytettiin tehtävän suorittamiseen käyttäjätasolla. %system: kuinka monta prosenttia keskusprosessoria käytettiin tehtävän suorittamiseen järjestelmätasolla. %guest: kuinka monta prosenttia keskusprosessoria käytettiin tehtävän suorittamiseen virtuaalisella koneella. %CPU: Yhteenlaskettu keskusprosessorin prosentuaalinen ajankäyttö tehtävään. CPU: Prosessorinumero, jolle tehtävä on kiinnitetty. Command: tehtävän komentonimi. Tuota kuvaa kun katseli, niin huomasi, ettei siellä hirveästi aikaa ole mennyt noihin tehtäviin. En kyllä tiedä mitään hyviä vertailukohteita, joten en osannut sanoa, oliko tuo nopeaa vai hidasta toimintaa.

 

Lähteet

Lähteet on tekstin seassa sitä mukaa, kun niitä on käytetty.

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

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 )

Connecting to %s