H2 – Command Line Basics

Kaikkiin harjoituksiin on käytetty Lenovo 700-läppäriä ja virtuaalikonetta, jossa pyörii 64-bittinen Xubuntu 18.04 

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

Yritetään asentaa Gedit ohjelma

Yritin asentaa Gedit-ohjelmaa komennolla apt-get install gedit. Tämä ei tietenkään toiminut ja terminaalin palauttama viesti kuului tiivistettynä Permission denied ja Unable to lock the administration directory mikä viittaa pääkäyttäjän oikeuksien puuttumiseen. Tämän jälkeen kokeilin komentoa sudo apt-get install gedit jonka jälkeen terminaali kysyi koneen salasanaa. Salasanan mennessä oikein ohjelma latautui ja asentui. Virhe johtui siis siitä, että ohjelmien asennus vaatii komennolle pääkäyttäjän oikeudet mitkä saa, kun kirjoittaa komennon eteen sudo.

b) Vapaaehtoinen kohta, ei ole opetettu vielä: 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:’)

Käytin tässä tehtävässä apuna ubuntun dokumentaatiota. En ole ennen asentanut enkä käyttänyt SSH-demonia joten koko asia on uutta. Asentamisosuudet onnistuivat hyvin, mutta testausvaiheessa mikään ei tahtonut onnistua. Yritin tehtävässä annettujen komentojen lisäksi yhdistää konettani SSHlla Githubiin, mutta se oli helpommin sanottu kuin tehty. Aika alkoi loppua kesken joten oli pakko jättää tehtävä kesken. Aion kyllä omalla ajallani selvittää mikä meni pieleen ja miksi.

xubuntu@xubuntu:~/Desktop$ sudo apt install openssh-client Reading package lists… Done Building dependency tree Reading state information… Done openssh-client is already the newest version (1:7.6p1-4). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
xubuntu@xubuntu:~/Desktop$ sudo apt install openssh-server Reading package lists… Done Building dependency tree Reading state information… Done The following additional packages will be installed: ncurses-term openssh-sftp-server ssh-import-id Suggested packages: molly-guard monkeysphere rssh ssh-askpass The following NEW packages will be installed: ncurses-term openssh-server openssh-sftp-server ssh-import-id 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. Need to get 637 kB of archives. After this operation, 5316 kB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 ncurses-term all 6.1-1ubuntu1.18.04 [248 kB] Get:2 http://archive.ubuntu.com/ubuntu bionic/main amd64 openssh-sftp-server amd64 1:7.6p1-4 [45.5 kB] Get:3 http://archive.ubuntu.com/ubuntu bionic/main amd64 openssh-server amd64 1:7.6p1-4 [332 kB] Get:4 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 ssh-import-id all 5.7-0ubuntu1.1 [10.9 kB] Fetched 637 kB in 0s (1813 kB/s) Preconfiguring packages … Selecting previously unselected package ncurses-term. (Reading database … 153499 files and directories currently installed.) Preparing to unpack …/ncurses-term_6.1-1ubuntu1.18.04_all.deb … Unpacking ncurses-term (6.1-1ubuntu1.18.04) … Selecting previously unselected package openssh-sftp-server. Preparing to unpack …/openssh-sftp-server_1%3a7.6p1-4_amd64.deb … Unpacking openssh-sftp-server (1:7.6p1-4) … Selecting previously unselected package openssh-server. Preparing to unpack …/openssh-server_1%3a7.6p1-4_amd64.deb … Unpacking openssh-server (1:7.6p1-4) … Selecting previously unselected package ssh-import-id. Preparing to unpack …/ssh-import-id_5.7-0ubuntu1.1_all.deb … Unpacking ssh-import-id (5.7-0ubuntu1.1) … Setting up ncurses-term (6.1-1ubuntu1.18.04) … Processing triggers for ufw (0.35-5) … Processing triggers for ureadahead (0.100.0-20) … Setting up openssh-sftp-server (1:7.6p1-4) … Processing triggers for systemd (237-3ubuntu10.3) … Processing triggers for man-db (2.8.3-2) … Setting up ssh-import-id (5.7-0ubuntu1.1) … Setting up openssh-server (1:7.6p1-4) … Creating config file /etc/ssh/sshd_config with new version Creating SSH2 RSA key; this may take some time … 2048 SHA256:IXuS/aGsZO/A2oqvKC6PUV1+7uGBALqxrHbta3UFLRU root@xubuntu (RSA) Creating SSH2 ECDSA key; this may take some time … 256 SHA256:8Rc1N/0rlY09woaxnYIz2arkkK4SdY0JA0vMELEUGrY root@xubuntu (ECDSA) Creating SSH2 ED25519 key; this may take some time … 256 SHA256:fo412hxb6ssInGHPC5vFYTzqx2ykbqnE3dUGIq/Hb50 root@xubuntu (ED25519) Created symlink /etc/systemd/system/sshd.service → /lib/systemd/system/ssh.service. Created symlink /etc/systemd/system/multi-user.target.wants/ssh.service → /lib/systemd/system/ssh.service. Processing triggers for ureadahead (0.100.0-20) … Processing triggers for systemd (237-3ubuntu10.3) … Processing triggers for ufw (0.35-5) …
xubuntu@xubuntu:~/Desktop$ scp foo.txt tero@example.com: ^Cxubuntu@xubuntu:~/Desktop$ scp foo.txt tero@example.com cp: cannot stat ‘foo.txt’: No such file or directory xubuntu@xubuntu:~/Desktop$ scp usage: scp [-346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 … [[user@]host2:]file2
xubuntu@xubuntu:~/Desktop$ git Command ‘git’ not found, but can be installed with: sudo apt install git
xubuntu@xubuntu:~/Desktop$ touch foo.txt xubuntu@xubuntu:~/Desktop$ scp foo.txt tero@example.com xubuntu@xubuntu:~/Desktop$ scp foo.txt tero@example.com: ^Cxubuntu@xubuntu:~/Desktop$ sudo apt intall git E: Invalid operation intall
xubuntu@xubuntu:~/Desktop$ sudo apt install git Reading package lists… Done Building dependency tree Reading state information… Done The following additional packages will be installed: git-man liberror-perl Suggested packages: git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn The following NEW packages will be installed: git git-man liberror-perl 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. Need to get 4731 kB of archives. After this operation, 33.9 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://archive.ubuntu.com/ubuntu bionic/main amd64 liberror-perl all 0.17025-1 [22.8 kB] Ign:2 http://security.ubuntu.com/ubuntu bionic-security/main amd64 git-man all 1:2.17.1-1ubuntu0.1 Err:2 http://archive.ubuntu.com/ubuntu bionic-security/main amd64 git-man all 1:2.17.1-1ubuntu0.1 404 Not Found [IP: 91.189.91.23 80] Ign:3 http://security.ubuntu.com/ubuntu bionic-security/main amd64 git amd64 1:2.17.1-1ubuntu0.1 Err:3 http://archive.ubuntu.com/ubuntu bionic-security/main amd64 git amd64 1:2.17.1-1ubuntu0.1 404 Not Found [IP: 91.189.91.23 80] Fetched 22.8 kB in 0s (61.3 kB/s) E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/g/git/git-man_2.17.1-1ubuntu0.1_all.deb 404 Not Found [IP: 91.189.91.23 80] E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/g/git/git_2.17.1-1ubuntu0.1_amd64.deb 404 Not Found [IP: 91.189.91.23 80] E: Unable to fetch some archives, maybe run apt-get update or try with –fix-missing?
xubuntu@xubuntu:~/Desktop$ ssh -T -p 443 git@ssh.github.com The authenticity of host ‘[ssh.github.com]:443 ([192.30.253.122]:443)’ can’t be established. RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. Are you sure you want to continue connecting (yes/no)? y Please type ‘yes’ or ‘no’: yes Warning: Permanently added ‘[ssh.github.com]:443,[192.30.253.122]:443’ (RSA) to the list of known hosts. git@ssh.github.com: Permission denied (publickey). xubuntu@xubuntu:~/Desktop$ ssh -T git@github.com The authenticity of host ‘github.com (140.82.118.4)’ can’t be established. RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added ‘github.com,140.82.118.4’ (RSA) to the list of known hosts. git@github.com: Permission denied (publickey).
xubuntu@xubuntu:~/Desktop$ cd ..
xubuntu@xubuntu:~$ ll total 64 drwxr-xr-x 18 xubuntu xubuntu 540 Jan 27 18:55 ./ drwxr-xr-x 1 root root 60 Jan 27 2019 ../ -rw——- 1 xubuntu xubuntu 322 Jan 27 2019 .ICEauthority -rw——- 1 xubuntu xubuntu 52 Jan 27 2019 .Xauthority -rw-r–r– 1 xubuntu xubuntu 1600 Jan 27 2019 .Xdefaults -rw-r–r– 1 xubuntu xubuntu 220 Jan 27 2019 .bash_logout -rw-r–r– 1 xubuntu xubuntu 3771 Jan 27 2019 .bashrc drwx—— 8 xubuntu xubuntu 200 Jan 27 17:38 .cache/ drwxr-xr-x 12 xubuntu xubuntu 320 Jan 27 18:36 .config/ drwx—— 3 xubuntu xubuntu 60 Jan 27 2019 .gnupg/ drwx—— 2 xubuntu xubuntu 40 Jan 27 2019 .gvfs/ drwx—— 3 xubuntu xubuntu 60 Jan 27 2019 .local/ drwx—— 5 xubuntu xubuntu 100 Jan 27 17:38 .mozilla/ -rw-r–r– 1 xubuntu xubuntu 807 Jan 27 2019 .profile drwx—— 2 xubuntu xubuntu 60 Jan 27 18:56 .ssh/ -rw-r–r– 1 xubuntu xubuntu 0 Jan 27 18:34 .sudo_as_admin_successful drwxrwxr-x 3 xubuntu xubuntu 60 Jan 27 18:36 .thumbnails/ -rw-r–r– 1 xubuntu xubuntu 14 Jan 27 2019 .xscreensaver -rw——- 1 xubuntu xubuntu 33501 Jan 27 18:56 .xsession-errors drwxr-xr-x 2 xubuntu xubuntu 120 Jan 27 18:53 Desktop/ drwxr-xr-x 2 xubuntu xubuntu 40 Jan 27 2019 Documents/ drwxr-xr-x 2 xubuntu xubuntu 40 Jan 27 2019 Downloads/ drwxr-xr-x 2 xubuntu xubuntu 40 Jan 27 2019 Music/ drwxr-xr-x 2 xubuntu xubuntu 40 Jan 27 2019 Pictures/ drwxr-xr-x 2 xubuntu xubuntu 40 Jan 27 2019 Public/ drwxr-xr-x 2 xubuntu xubuntu 100 Jan 27 2019 Templates/ drwxr-xr-x 2 xubuntu xubuntu 40 Jan 27 2019 Videos/ xubuntu@xubuntu:~$ cd .ssh
xubuntu@xubuntu:~/.ssh$ ll total 4 drwx—— 2 xubuntu xubuntu 60 Jan 27 18:56 ./ drwxr-xr-x 18 xubuntu xubuntu 540 Jan 27 18:55 ../ -rw-r–r– 1 xubuntu xubuntu 1768 Jan 27 18:56 known_hosts xubuntu@xubuntu:~/.ssh$ cat known_hosts |1|nWnYP3mSqUIoa8GtsGuoyxH9LLM=|CdLWt7I1/JdIAkutLHuvS3d0Kpc= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== |1|buxa5Zduegt3617+5bvOuM2pGWA=|Ev9wYSjWkvxKM+aZRNBx3dN2l+s= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== |1|FFwcl1bEFkw0ZYZ6cesVG6+7RMQ=|zSVXE799tPiq/1Sc88sDjIf8zfU= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== |1|8yIH0tEa54FSSDm0SfTZSaz5tRg=|39ix69UnBzTTBlGXfWd/t3MNSXU= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== xubuntu@xubuntu:~/.ssh$


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

Komento joka asentaa ohjelmat Gedit, Htop ja Gimp:

xubuntu@xubuntu:~/Desktop$ sudo apt-get install gedit htop gimp 

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

Koska mieleeni ei tullut yhtään komentoriviltä toimivaa ohjelmaa, päätin turvautua Googlen apuun. Löysin tämän artikkelin josta valitsin kolme asennettavaa ohjelmaa: Who needs a GUI? How to live in a Linux terminal.

Ensimmäinen asentamani ohjelma oli rtv joka on komentoriviltä toimiva Reddit. Ohjelma haettiin komennolla pip install rtv. Ensiksi piti asentaa pip komennolla sudo apt-get install pip. Ohjelma asentui komennolla sudo apt install rtv.

Toinen ohjelma jatkaa some-teemaa. Rainbowstream on komentorivillä toimiva Twitter. Rainbowstream käyttää myös pipiä ja ohjelma asennettiin komennolla sudo pip install rainbowstream. Ohjelma käynnistettiin komennolla rainbowstream -iot.

Kolmatta ohjelmaa jota voisi demonstroida ja jonka asentamiseen ei tarvinnut viittä kirjastoa tai zip-tiedostoa oli hankala löytää. Löysin toisesta listauksesta: 35 Terminal ( text ) based application for Linux komentokehotteesta toimivan sudoku-pelin jonka asensin. Asentamiseen käytettiin komentoa sudo apt-get install sudoku.

Leave a comment