Tag: scp



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