субота, 20 априла, 2024
Како да...?

Ки-пас из командне линије

Аутор: Марјан Ђуран

Увод

Ако вам се свидео Ки-пас-икс, а бавите се администрацијом (Linux) сервера, имате само понеки лични сервер, или једноставно не волите графичко окружење, за вас постоји одлично решење – кпцли (енг. KeePass Command Line Interface), дакле Ки-пас-икс из командне линије. Може се наћи на свим репозиторијумима на којима је и Ки-пас-икс, као и на званичној страници.

Инсталација би изгледала овако:

На федора (базираним) системима:

sudo dnf install kpcli

На центос системима:

sudo yum install kpcli

На дебијан оријентисаним системима:

sudo apt-get install kpcli

На арч системима:

pacman -S kpcli

Што се криптографског дела тиче, модел је исти, те је задржана и компатибилност са Ки-пас-икс базом, дакле – само окружење је промењено, а представљање окружења следи.

Употреба

Након инсталације у командној линији укуцајте кпцли. Одзив ће бити овакав:

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

Овом командом смо „ушли у програм”, командом help можемо добити листу осталих команди уз помоћ којих можемо да манипулишемо нашом базом креденцијала. Оно што је битно имати у виду у самом почетку, а што се може видети и кроз Ки-пас-икс и графичко окружење приказано у претходном тексту, јесте аналогија Ки-пас апликација и стабла, односно распореда директоријума у самом систему. Као што у Линукс оперативним системима све креће од кореног, односно root директоријума, тако је и у Ки-пас апликацијама у самом корену – корен, односно root директоријум. Све групе и подгрупе можемо посматрати као директоријуме односно поддиректоријуме, а саме записе наших креденцијала можемо посматрати као датотеке. Ово је доста битно прихватити ради лакшег сналажења у кпцли програму.

Занимљиво је то да су неке команде идентичне онима из самог Линукс система, као што су:

  • ls – излиставање садржаја у тренутном директоријуму,
  • pwd – приказ у којем се директоријуму тренутно налазимо,
  • cd – (change directory) – промена директоријума,
  • cl – промена директоријума и излиставање новоотвореног директоријума, занимљива команда настала спајањем команди cd и ls, дакле као када бисмо написали у једној линији cd; ls
  • mkdir – (make directory) – прављење новог директоријума, односно групе,
  • rmdir – (remove (empty) directory) – брисање директоријума, односно групе,
  • rm – (remove) – брисање једне датотеке, односно записа креденцијала из базе.

Но, да пређемо на практични део кроз који се по (неписаном) правилу увек боље научи и упозна ново окружење или апликација. Поставићемо два случаја, па ћемо их и комбиновати, дословно.

Први случај

Први случај може бити да смо потпуно нови корисник и да немамо никакву базу, али желимо да је оформимо и у њој чувамо своје креденцијале. При томе не волимо или немамо могућност графичког корисничког окружења. На већ описани начин смо на свом оперативном систему инсталирали кпцли, по истом рецепту и покренули апликацију. Шта следи? Прављење нове базе. Заправо, када укуцамо кпцли, ми смо отворили нову базу, ако укуцамо команду ls, одзив ће бити:

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

То су стандардне две групе које се налазе у празним базама, које су ту да нас усмере како да размишљамо, односно раздвајамо записе по групама и правимо нове. Уколико нам се ове групе не свиђају, можемо их обрисати командама:

rmdir eMail
rmdir Internet

Мала дигресија на разлику између команде rmdir у самом Линукс оперативном систему и у програму кпцли – у оперативном систему ова команда брише празне директоријуме и може обрисати више директоријума једном командом. У програму кпцли ова команда брише директоријум односно групу креденцијала без обзира да ли је празан или пун, и може прихватити максимално један аргумент, односно само једна група се може обрисати у једној команди и зато смо у примеру за брисање две групе команду покренули два пута.

Направићемо нову групу, односно директоријум, затим ући у њега и направити нови запис за свој (измишљени) Први налог:

mkdir Libre!

cd Libre!

new Prvi

Одзив који добијам изгледа овако:

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

Приликом избора шифре, имамо три могућности. Ако већ имамо шифру, можемо само да је упишемо, притиснемо Ентер и идемо даље, међутим ако овом приликом желимо и да генеришемо шифру (у чему су Ки-пас апликације прилично добре), то можемо урадити на два начина – одабиром тастера „g” или „w” за аутоматско генерисање шифре, или опција „i” која означава интерактивно генерисање шифре. Разлика између две опције аутоматског генерисања је што ћемо опцијом „g” добити насумично генерисан низа карактера, док ћемо опцијом „w” добити насумично генерисане речи одвојене тачком. У случају одабира опције „i” добићемо одзив који изгледа овако:

INTERACTIVE PASSWORD GENERATION:
<n>o/<ret> Do not accept current password, generate another one.
<y>es      Accept current password.

<t>oggle   Toggle between random characters and word-based mode.
<c>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

Овом нам говори следеће: опцијом „n” (no) одбијамо да прихватимо тренутно генерисану шифру која нам је приказана, и у том случају се шифра поново генерише и тако сваки пут док не прихватимо опцијом „y” (yes) или не одбијемо опцијом „c” (cancel). Имамо и додатне опције, а то су „t” (toggle) чиме генеришемо шифру која је комбинација горе поменутих опција „g” и „w”, притиском тастера „+” увећавамо број карактера који ће се користити за шифру, односно тастером „-” умањујемо број карактера, док можемо и експлицитно навести број карактера који желимо да користимо уносом целог броја. Након генерисања шифре, следи унос УРЛ-а (Uniform Resource Location), односно интернет адресе локације за коју уносимо или генеришемо креденцијале. У следећем пољу ће бити место за коментар. Коментар је поље за више редова, завршавамо га тачком „.” и тастером Enter. Уколико не желите да пишете било какав коментар, само унесите тачку „.”. Овиме смо уједно и завршили унос наших првих креденцијала. На реду је чување уноса. Препоручује се чување након сваког новог уноса, јер не желите да унесете и генеришете преко десет креденцијала. а онда нестане струје, изгубите конекцију са удаљеним сервером или једноставно заборавите да сачувате јер сте се занели у послу или вас је нешто омело и одвукло вам пажњу. Први пут када чувате нову базу, потребно је да то урадите командом saveas, минималан унос ове команде је уз параметар који ће бити име базе, а максималан са два параметра где ће други бити кључ уколико на тај начин желите да заштитите своју базу. Ми ћемо урадити само једним параметром, уносом имена.

saveas Libre!kpcli

Затражиће нам након тога да унесемо master password, односно главну шифру која ће штитити све остале креденцијале, и наравно да је верификујемо, односно унесемо још једном како бисмо отклонили могућност да смо неко слово промашили и тиме закључали своје креденцијале, можда и трајно. Потрудите се да то буде нешто само вама смислено и логично, са довољним бројем што различитијих карактера, не дозволите да изложите опасности све своје креденцијале због мањка маштовитости и креативности у датом тренутку. Више о шифрама можете прочитати у Либре! тексту о шифрама.

База је сачувана у директоријуму у којем сте се налазили када се укуцали команду кпцли и тиме покренули програм. Наравно, можете накнадно да је преместите где год желите, или јој промените име. Уколико бисмо сада унели још неке креденцијале у исту базу, након уноса коментара, што је последњи корак, добили бисмо обавештење и питање:

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

База је измењена. Да ли желите да сачувате измене сада? Одговарамо са „y” уколико желимо, или „n” уколико не желимо. Занимљиво је да можемо одговорити и са „n”, запис ће бити присутан након завршетка уноса креденцијала, то можемо проверити командом ls. Међутим, сада је потребно да унесемо и команду save. Добијамо одзив:

Saved to Libre!kpcli

Шта се дешава ако смо имали нови унос, нисмо желели одмах да сачувамо унос, али нисмо ни команду save употребили? Приликом изласка из програма, што се ради командама close, quit или exit, добићемо последње упозорење које изгледа овако:

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

Ово нам је последња шанса да сачувамо новоунете измене. Опцијом „y” потврђујемо да желимо да сачувамо, док опцијом „N” која је великим словом, што нам говори да је она подразумевана, дакле можемо унети мало или велико слово „N” или само притиснути Enter), наше измене у бази неће бити сачуване. Командом exit излазимо из програма.

Наставак