Viikko 5 harjoitus 5 – SSH-demoni

Tämän viikon harjoituksessa tutustutaan SSH-demoniin. Harjoituksessa käyttämäni kone on MSI:n valmistama GX 640-mallin kannettava tietokone. Koneeseen on asennettu käyttöjärjestelmäksi Linux Xubuntu 16.04.3 LTS. Voit saada oman Xubuntu 16.04.3 LTS versiosi seuraavasta linkistä.

Aloitin harjoituksien tekemisen maanantaina 26.2.2018 klo 11.45. Annan tämän julkaisun aikana kellonaikoja tehtävien välissä, jotta saatte kuvan kuinka kauan tämän harjoituksen suorittamiseen menee aikaa.

Tämän harjoituksen toimeksianto löytyy kurssini opettajan Tero Karvisen nettisivuilta. Valitsin toimeksiannosta kohdat a, b, c, d, ja j.

Asenna SSH-demoni (H5 kohta a)

klo 11.50

Aloitetaan harjoitus avaamalla Terminal Emulator:

käynnistävalikko.png

Työpöydän vasemmasta yläreunasta klikkaamme Xubuntu-logoa ja avautuvasta valikosta valitsemme Terminal Emulatorin. Tämän jälkeen syötämme terminaaliin seuraavan komennon:

sudo apt-get update

Kun olemme päivittäneet uusimpiin paketteihin, voimme ottaa ssh-yhteyden virtuaalipalvelimeen jonka vuokrasimme edellisessä harjoituksessa. SSH-yhteys virtuaali-palvelimeen saadaan seuraavalla komennolla.

ssh käyttäjä@(virtuaalipalvelimen ip-osoite)

Kun otat ssh-yhteyden virtuaalipalvelimeesi palvelin kysyy salasanaasi. Annettuasi salasanan voit päivittää palvelimesi kirjastot seuraavilla komennoilla.

sudo apt-get update
sudo apt-get upgrade

Nämä tehtyäsi voit siirtyä SSH-demonin asennukseen. Tämän asentamiseen on monia eri tapoja, mutta teemme tämän helpoimmalla ja yleisimmällä tavalla asentamalla suoraan koko SSH:n palvelimelle. Tämä onnistuu seuraavalla komennolla.

sudo apt-get -y install ssh

SSH:n asennuksen jälkeen täytyy testata onko SSH todellakin asennettu. Tämän voimme testata vaikka ottamalla yhteyden localhostiin. Jotta voimme ottaa yhteyden localhostiin, meidän tarvitsee tietää kuka olen ja se selviää seuraavalla komennolla

whoami

Terminaali ilmoittaa että olen käyttäjä ville. Tämän jälkeen voimme testata SSH yhteyttä seuraavalla komennolla.

ssh ville@localhost

Tämän jälkeen terminaali kysyy ‘fingerprint’ eli olenko se minä joka yrittää yhdistää. Kirjoitin ‘yes’ ja sitten se kysyi salasanaani. Annettuani salasanani avautuu seuraava näkymä.

ssh_yhteys.png

SSH-yhteys toimii jolloin asennus on onnistunut. Voit lopettaa SSH-yhteyden exit-komennolla.

Suojaa kone tulimuurilla, mutta tee ensin reikä SSH:lle (H5 kohta b)

klo 11.56

Seuraava kohdassa suojaamme koneen tulimuurilla, mutta meidän tarvitsee ensin avata portti SSH:lla, jotta voimme myös käyttää sitä myöhemmin. Tulimuurin asennus Linuxissa on helppoa. Ollessasi SSH-yhteydessä virtuaalipalvelimellesi voit käyttää seuraavia komentoja asentaaksesi tulimuurin.

sudo ufw allow 22/tcp
sudo ufw enable

Nyt sinulla on tulimuuri asennettuna. Äskeisistä komennoista todellisuudessa vasta jälkimmäinen komento asensi tulimuurin. Ensimmäinen komento avasi portin 22/tcp SSH yhteyksiä varten.

Siirrä tiedostoja ssh:lla (H5 kohta c)

klo 12.00

Tässä kohdassa testaamme tiedostojen siirtoa SSH:lle. Aloitamme taas testaamisen ollessamme SSH-yhteydessä virtuaalipalvelimelle. Ensin luomme kansion testattavaa tiedostoa varten ja tämän jälkeen luomme tekstitiedoston tuonne kansioon. Tämä onnistuu seuraavilla komennoilla.

mkdir ssh_testi
cd ssh_testi
nano ssh_testi.txt

Kirjoitin tekstitiedostoon seuraavan teksin: ”testi testi”. Tämän jälkeen tallensimme tekstitiedoston näppäimillä CTRL+X ja Y. Seuraavaksi voimme testata SSH-yhteyttä siirtämällä kansion ja siellä olevan tiedoston virtuaalipalvelimen SSH:lle. Tämä onnistuu seuraavalla komennolla.

scp -r ssh_testi/ ville@localhost:

Seuraavaksi testaammme onnistuiko siirto. Kirjaudumme SSH:lle ja printtasimme tekstitiedoston cat-komennolla.

testi

Tekstitiedosto oli siirtynyt onnistuneesti SSH:lle.

Automatisoi kirjatuminen julkisen avaimen menetelmällä (H5 kohta d)

klo 12.15

Tässä kohdassa olen ymmärtänyt, että tavoitteena on luoda avain jolloin otettaessa SSH-yhteyttä localhostiin sinun ei tarvitse antaa enää salasanaa, jolloin kirjautuminen automatisoituu. Ollessamme SSH-yhteydessä virtuaalipalvelimeen, voimme luoda avaimen seuraavalla komennolla.

ssh-keygen

Tällä komennolla palvelin loi minulle avaimen. Kopioimme avaimen localhostin SSH-yhteydelle seuraavalla komennolla.

ssh-copy-id ville@localhost

Komennon antamisen jälkeen terminaali kysyy salasanaasi ja tämän annettuasi voit kirjautua localhostiin ilman salasanaa. Voimme testata asiaa kirjautumalla SSH:lla localhostiin.

avaintesti

Kirjautuminen onnistui ilman salasanaa, eli julkisen avaimen luominen onnistui.

Asenna ja konfiguroi ja käynnistä sysstat-paketti. (H5 kohta j)

klo 12.20

Tässä kohdassa tavoitteena on asentaa sysstat jolla voimme seurata virtuaalipalvelimen kuormitushistoriaa. Sysstatin asennus aloitetaan seuraavalla komennolla.

sudo apt-get install sysstat

Jotta voimme seurata Sysstatilla kuormitusta meidän tarvitsee sallia datan kerääminen. Tämä asetus saadaan tehtyä seuraavalla komennolla.

sudoedit /etc/default/sysstat

Etsimme asetuksista kohdan ENABLE=”false” ja vaihdamme sen ENABLE=”true”. Kun muutokset on tallennettu tarvitsee vain uudelleenkäynnistää sysstat seuraavalla komennolla.

sudo systemctl start sysstat

Jätän sysstatin käymään muutamaksi päiväksi ja palaan tarkastelemaan tuloksia myöhemmin tähän blogiin.

Lopetin harjoituksen tekemisen 26.2.2018 klo 12.25 eli harjoituksen tekemiseen meni noin 40 minuuttia.

Päivitys 11.3.2018 klo 22.20

Sysstat on nyt ollut käynnissä noin 2 viikkoa. On aika tarkastella lokimerkintöjä. Sysstatin lukuohjeen voit löytää tästä linkistä. Käydään läpi ensiksi sar-loki. Loki näyttää palvelimen käytön. Käytetään seuraavaa komentoa.

sar

sar screenshot

Ensin näkyy kellonaika, joka on kaksi tuntia jäljessä omasta kellostani.

CPU= Mitkä prosessorit ovat käytössä, tässä kohtaa all tarkoittaa, että kaikki prosessorit ovat käytössä.

%user= Kuinka pitkän ajan CPU viettää/on viettänyt käyttäjätilassa.

%nice: Tarkoittaa prosessorin käyttöastetta, kun ajettiin käyttäjäasteella “nice”

%system= Kuinka pitkän ajan CPU viettää/on viettänyt system-tilassa.

%iowait= Kuinka pitkän ajan järjestelmä odottaa ennen pyyntöjen käsittelyä.

%steal= En löytänyt tämän kohdan tarkoitusta, mutta uskoisin sen tarkoittavan sitä, kuinka paljon prosessori on joutunut odottamaan jotain?

%idl= Kuinka pitkän ajan järjestelmä on tehnyt töitä, eli onko palvelinta oikeasti käytetty, tässä tapauksessa ei, sillä palvelin on ollut lähes 99.9% ajasta lepotilassa.

Tämän jälkeen käymme läpi iostat-lokia. Tänne pääset seuraavalla komennolla.

iostat

iostat screenshot

Tämä loki näyttää ymmärtääkseni prosessorin ja kovalevyn infot. Käytin samaa lukuohjetta kuin aiemmin sar-lokin kanssa.

%user: Kertoo prosessorin käyttöasteesta sovellusta suorittaessa.

%nice: Tarkoittaa prosessorin käyttöastetta, kun ajettiin käyttäjäasteella “nice”.

%system: Kertoo järjestelmätasolla (kernel) ajetuista käytöistä.

%iowait: Ilmoittaa ajan, jolloin prosessori oli käyttämättömänä, kun järjestelmällä oli ratkaisematon levy I/O pyyntö. I/O tulee sanoista input/output.

%steal: Ilmoittaa ajan, kun prosessori oli haluamattaan odotustilassa, kun hypervisori (kun koneella ei ole ihan fyysistä omaa prosessoria, hypervisori jakelee tehoa fyysisestä prosessorista virtuaaliprosessoreille) palvelee toista virtuaalikonetta.

%idle: Kuinka pitkän ajan järjestelmä on tehnyt töitä, eli onko palvelinta oikeasti käytetty, tässä tapauksessa ei, sillä palvelin on ollut lähes 99.9% ajasta lepotilassa.

Viimeiseksi käymme läpi pidstat-lokia. Tänne pääset seuraavalla komennolla.

pidstat

pidstat screenshot

Tämä loki näyttää yksittäisten prosessien seurannan. Käytin tämän lokin tulkitsemiseen seuraavaa ohjetta.

Ensin näkyy kellonaika, joka on kaksi tuntia jäljessä omasta kellostani.

UID: UserIDn numero jota seurataan.

PID: prosessin ID-numero jota seurataan.

%usr, system%, %guest ja %CPU: Nämä liittyvät kaikki prosessorin kuormitukseen eri profiileilla.

CPU: Prosessorin numero johon kyseinen prosessi on liitetty.

Command: Tämä on prosessin command-nimi.

Näihin lokien tulkitsemiseen käytin aikaa noin 25 minuuttia.

Lähteet:

Tero Karvisen nettisivut : http://terokarvinen.com/2017/aikataulu-%E2%80%93-linux-palvelimet-ict4tn021-7-ti-ja-6-to-alkukevat-2018-5-op#h5

Mainokset

Vastaa

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

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out /  Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out /  Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out /  Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out /  Muuta )

w

Muodostetaan yhteyttä palveluun %s