četvrtak, 26 decembra, 2024
Kako da...?

Ki-pas iz komandne linije

Autor: Marjan Đuran

Uvod

Ako vam se svideo Ki-pas-iks, a bavite se administracijom (Linux) servera, imate samo poneki lični server, ili jednostavno ne volite grafičko okruženje, za vas postoji odlično rešenje – kpcli (eng. KeePass Command Line Interface), dakle Ki-pas-iks iz komandne linije. Može se naći na svim repozitorijumima na kojima je i Ki-pas-iks, kao i na zvaničnoj stranici.

Instalacija bi izgledala ovako:

Na fedora (baziranim) sistemima:

sudo dnf install kpcli

Na centos sistemima:

sudo yum install kpcli

Na debijan orijentisanim sistemima:

sudo apt-get install kpcli

Na arč sistemima:

pacman -S kpcli

Što se kriptografskog dela tiče, model je isti, te je zadržana i kompatibilnost sa Ki-pas-iks bazom, dakle – samo okruženje je promenjeno, a predstavljanje okruženja sledi.

Upotreba

Nakon instalacije u komandnoj liniji ukucajte kpcli. Odziv će biti ovakav:

KeePass CLI (kpcli) v3.0 is ready for operation. Type 'help' for a description of available commands. Type 'help ' for details on individual commands.

Ovom komandom smo „ušli u program”, komandom help možemo dobiti listu ostalih komandi uz pomoć kojih možemo da manipulišemo našom bazom kredencijala. Ono što je bitno imati u vidu u samom početku, a što se može videti i kroz Ki-pas-iks i grafičko okruženje prikazano u prethodnom tekstu, jeste analogija Ki-pas aplikacija i stabla, odnosno rasporeda direktorijuma u samom sistemu. Kao što u Linuks operativnim sistemima sve kreće od korenog, odnosno root direktorijuma, tako je i u Ki-pas aplikacijama u samom korenu – koren, odnosno root direktorijum. Sve grupe i podgrupe možemo posmatrati kao direktorijume odnosno poddirektorijume, a same zapise naših kredencijala možemo posmatrati kao datoteke. Ovo je dosta bitno prihvatiti radi lakšeg snalaženja u kpcli programu.

Zanimljivo je to da su neke komande identične onima iz samog Linuks sistema, kao što su:

  • ls – izlistavanje sadržaja u trenutnom direktorijumu,
  • pwd – prikaz u kojem se direktorijumu trenutno nalazimo,
  • cd – (change directory) – promena direktorijuma,
  • cl – promena direktorijuma i izlistavanje novootvorenog direktorijuma, zanimljiva komanda nastala spajanjem komandi cd i ls, dakle kao kada bismo napisali u jednoj liniji cd; ls
  • mkdir – (make directory) – pravljenje novog direktorijuma, odnosno grupe,
  • rmdir – (remove (empty) directory) – brisanje direktorijuma, odnosno grupe,
  • rm – (remove) – brisanje jedne datoteke, odnosno zapisa kredencijala iz baze.

No, da pređemo na praktični deo kroz koji se po (nepisanom) pravilu uvek bolje nauči i upozna novo okruženje ili aplikacija. Postavićemo dva slučaja, pa ćemo ih i kombinovati, doslovno.

Prvi slučaj

Prvi slučaj može biti da smo potpuno novi korisnik i da nemamo nikakvu bazu, ali želimo da je oformimo i u njoj čuvamo svoje kredencijale. Pri tome ne volimo ili nemamo mogućnost grafičkog korisničkog okruženja. Na već opisani način smo na svom operativnom sistemu instalirali kpcli, po istom receptu i pokrenuli aplikaciju. Šta sledi? Pravljenje nove baze. Zapravo, kada ukucamo kpcli, mi smo otvorili novu bazu, ako ukucamo komandu ls, odziv će biti:

kpcli:/> ls === Groups === eMail/ Internet/

To su standardne dve grupe koje se nalaze u praznim bazama, koje su tu da nas usmere kako da razmišljamo, odnosno razdvajamo zapise po grupama i pravimo nove. Ukoliko nam se ove grupe ne sviđaju, možemo ih obrisati komandama:

rmdir eMail rmdir Internet

Mala digresija na razliku između komande rmdir u samom Linuks operativnom sistemu i u programu kpcli – u operativnom sistemu ova komanda briše prazne direktorijume i može obrisati više direktorijuma jednom komandom. U programu kpcli ova komanda briše direktorijum odnosno grupu kredencijala bez obzira da li je prazan ili pun, i može prihvatiti maksimalno jedan argument, odnosno samo jedna grupa se može obrisati u jednoj komandi i zato smo u primeru za brisanje dve grupe komandu pokrenuli dva puta.

Napravićemo novu grupu, odnosno direktorijum, zatim ući u njega i napraviti novi zapis za svoj (izmišljeni) Prvi nalog:

mkdir Libre! cd Libre! new Prvi

Odziv koji dobijam izgleda ovako:

kpcli:/Libre!> new Prvi Adding new entry to "/Libre!" Title: Prvi Username: mojeKorisnickoIme Password:

Prilikom izbora šifre, imamo tri mogućnosti. Ako već imamo šifru, možemo samo da je upišemo, pritisnemo Enter i idemo dalje, međutim ako ovom prilikom želimo i da generišemo šifru (u čemu su Ki-pas aplikacije prilično dobre), to možemo uraditi na dva načina – odabirom tastera „g” ili „w” za automatsko generisanje šifre, ili opcija „i” koja označava interaktivno generisanje šifre. Razlika između dve opcije automatskog generisanja je što ćemo opcijom „g” dobiti nasumično generisan niza karaktera, dok ćemo opcijom „w” dobiti nasumično generisane reči odvojene tačkom. U slučaju odabira opcije „i” dobićemo odziv koji izgleda ovako:

INTERACTIVE PASSWORD GENERATION: o/ Do not accept current password, generate another one. es      Accept current password. oggle   Toggle between random characters and word-based mode. ancel   Abort interactive password generation mode. And in random characters mode: +/-      Increase/decrease password length. May be prefixed with a count. [n]=     Set password length to [n] chars. If not given, resets to 20 chars. 70eWY95zbybRw_tNf9fE  +/-/= n/y/t/c

Ovom nam govori sledeće: opcijom „n” (no) odbijamo da prihvatimo trenutno generisanu šifru koja nam je prikazana, i u tom slučaju se šifra ponovo generiše i tako svaki put dok ne prihvatimo opcijom „y” (yes) ili ne odbijemo opcijom „c” (cancel). Imamo i dodatne opcije, a to su „t” (toggle) čime generišemo šifru koja je kombinacija gore pomenutih opcija „g” i „w”, pritiskom tastera „+” uvećavamo broj karaktera koji će se koristiti za šifru, odnosno tasterom „-” umanjujemo broj karaktera, dok možemo i eksplicitno navesti broj karaktera koji želimo da koristimo unosom celog broja. Nakon generisanja šifre, sledi unos URL-a (Uniform Resource Location), odnosno internet adrese lokacije za koju unosimo ili generišemo kredencijale. U sledećem polju će biti mesto za komentar. Komentar je polje za više redova, završavamo ga tačkom „.” i tasterom Enter. Ukoliko ne želite da pišete bilo kakav komentar, samo unesite tačku „.”. Ovime smo ujedno i završili unos naših prvih kredencijala. Na redu je čuvanje unosa. Preporučuje se čuvanje nakon svakog novog unosa, jer ne želite da unesete i generišete preko deset kredencijala. a onda nestane struje, izgubite konekciju sa udaljenim serverom ili jednostavno zaboravite da sačuvate jer ste se zaneli u poslu ili vas je nešto omelo i odvuklo vam pažnju. Prvi put kada čuvate novu bazu, potrebno je da to uradite komandom saveas, minimalan unos ove komande je uz parametar koji će biti ime baze, a maksimalan sa dva parametra gde će drugi biti ključ ukoliko na taj način želite da zaštitite svoju bazu. Mi ćemo uraditi samo jednim parametrom, unosom imena.

saveas Libre!kpcli

Zatražiće nam nakon toga da unesemo master password, odnosno glavnu šifru koja će štititi sve ostale kredencijale, i naravno da je verifikujemo, odnosno unesemo još jednom kako bismo otklonili mogućnost da smo neko slovo promašili i time zaključali svoje kredencijale, možda i trajno. Potrudite se da to bude nešto samo vama smisleno i logično, sa dovoljnim brojem što različitijih karaktera, ne dozvolite da izložite opasnosti sve svoje kredencijale zbog manjka maštovitosti i kreativnosti u datom trenutku. Više o šiframa možete pročitati u Libre! tekstu o šiframa.

Baza je sačuvana u direktorijumu u kojem ste se nalazili kada se ukucali komandu kpcli i time pokrenuli program. Naravno, možete naknadno da je premestite gde god želite, ili joj promenite ime. Ukoliko bismo sada uneli još neke kredencijale u istu bazu, nakon unosa komentara, što je poslednji korak, dobili bismo obaveštenje i pitanje:

Database was modified. Do you want to save it now? [y/N]:

Baza je izmenjena. Da li želite da sačuvate izmene sada? Odgovaramo sa „y” ukoliko želimo, ili „n” ukoliko ne želimo. Zanimljivo je da možemo odgovoriti i sa „n”, zapis će biti prisutan nakon završetka unosa kredencijala, to možemo proveriti komandom ls. Međutim, sada je potrebno da unesemo i komandu save. Dobijamo odziv:

Saved to Libre!kpcli

Šta se dešava ako smo imali novi unos, nismo želeli odmah da sačuvamo unos, ali nismo ni komandu save upotrebili? Prilikom izlaska iz programa, što se radi komandama close, quit ili exit, dobićemo poslednje upozorenje koje izgleda ovako:

WARNING: The database has changed and was not saved. Really close it? [y/N]

Ovo nam je poslednja šansa da sačuvamo novounete izmene. Opcijom „y” potvrđujemo da želimo da sačuvamo, dok opcijom „N” koja je velikim slovom, što nam govori da je ona podrazumevana, dakle možemo uneti malo ili veliko slovo „N” ili samo pritisnuti Enter), naše izmene u bazi neće biti sačuvane. Komandom exit izlazimo iz programa.

Nastavak