pass: Ένα "παυσίπονο" για τον "πονοκέφαλο" των κωδικών! Μέρος 1ο

Δεν ξέρω εάν ταυτίζεται κανείς με τον “πονοκέφαλο” :exploding_head: που προκύπτει όταν έχεις 200 λογαριασμούς σε πόσα site και άλλους τόσους κωδικούς πρόσβασης, αλλά εμένα και με πιάνει και πολλές φορές μου στέκεται εμπόδιο επειδή έχω ξεχάσει κάτι από τα δύο.

Λύση στο πρόβλημα έρχεται να δώσει ένας οποιοσδήποτε password manager. Η λογική του πολύ απλή. Κάνεις ένα αρχείο στο οποίο αποθηκεύεις τους 200 κωδικούς σου και τους κλειδώνεις με έναν κωδικό. Από εδώ και πέρα χρειάζεται να θυμάσαι μόνο αυτόν τον κωδικό!

Υπάρχουν πολλοί password managers . Άλλοι τρέχουν local στο pc μας, άλλοι στο cloud, και άλλοι τρέχουν local αλλά συγχρονίζουν και με κάτι απομακρυσμένο.
Στο παρόν άρθρο θα πάρουμε μια πρώτη ιδέα του terminal password manager pass. Περίμενε!!! Αν το τερματικό δεν είναι το στυλ σου, μην φύγεις ακόμα! Έχει πολλά plug-ins και integrations που θα έχεις και GUI!

Σε ποιους απευθύνεται;

  • Σίγουρα σε όσους έχουν “αγάπη” για το τερματικό :terminal:
  • Σε όσους θέλουν να έχουν μία βάση αποθήκευσης κωδικών και δεν τους πειράζει να κάνουν 5 πράγματα για να την setάρουν!

Στο ψητό!

Εγκατάσταση του πακέτου pass:

  1. Debian based:
sudo apt install pass
  1. Arch based:
sudo pacman -S pass

Αρχικοποίηση της βάση μας

Η κρυπτογράφηση γίνεται με gpg οπότε πρέπει να έχουμε κάποιο κλειδί. Εν συντομία, μιας και δεν είναι αυτός ο σκοπός του παρόντος άρθρου, μπορούμε να παράξουμε ένα κλειδί δίνοντας την εντολή:

gpg --full-gen-key

Είναι σχετικά απλά η παραγωγή μιας και έχει διαδραστικότητα η παραπάνω εντολή.
Πάμε λοιπόν τώρα να κάνουμε το αρχικό setup του pass:

pass init gpg-id ή email που υπάρχει ως uid στο κλειδί

π.χ.

pass init demo@example.com

Το αποτέλεσμα:

mkdir: created directory '/home/christ0s/.password-store/'
Password store initialized for demo@example.com

Μπορούμε πια να περάσουμε τις καταχωρήσεις μας ως εξής:

pass insert testentry
Enter password for testentry:
Retype password for testentry:

Done!

Έστω τώρα ότι θέλουμε να δούμε τους κωδικούς που έχουμε αποθηκεύσει:

pass

ή

pass ls
Password Store
└── testentry

Έχουμε προς το παρόν μόνο μία καταχώρηση. Εκτελώντας την παρακάτω εντολή θα μας ζητηθεί να βάλουμε τον κωδικό του κλειδιού μας :key:(gpg) και θα δούμε τον κωδικό του testentry

pass testentry
test

Μπορούμε όμως να “περάσουμε” τον κωδικό στο clipboard με το flag -c

pass -c testentry
Copied testentry to clipboard. Will clear in 45 seconds.

Μπορούμε να επεξεργαστούμε αυτό το entry:

pass edit testentry

Ανοίγει στον default editor του περιβάλλοντος του τερματικού μας και μπορούμε να προσθέσουμε ή να αφαιρέσουμε πράγματα σχετικά με το entry.
Εάν μελλοντικά σκοπεύουμε να χρησιμοποιήσουμε κάποιο browser plug-in καλό είναι να περνάμε τις καταχωρήσεις μας ως εξής.
Όνομα καταχώρησης example.com
Στοιχεία:

password
username
notes

Και για να μην κάνουμε διπλή δουλειά (δηλαδή insert και μετά edit) μπορούμε να χρησιμοποιήσουμε το flag -m και να περάσουμε κατευθείαν περισσότερα στοιχεία για τον λογαριασμό μας

pass insert -m example.com
password
username
expires at 15/12/20

Θεωρώ τις λοιπές βασικές λειτουργίες πολύ κατανοητές από το manual του πακέτου. Αν δώστε μια ευκαιρία στο pass κάντε έναν κόπο να το ρίξτε μια ματιά.

Σε συνέχεια του άρθρου θα εξηγηθούν:

  • Browser integrations
  • Ρύθμιση του git για να συγχρονίζετε την βάση σας με κάποιο προσωπικό repo.
  • Android app που συγχρονίζεται και αυτό με git
  • Ίσως η OTP λειτουργία του.

Έχει κυριολεκτικά τεράστια ευελιξία με τα plug-ins, είναι cross-platform (Linux, MacOS, Windows, Android, iOS, Web) και υπάρχουν και gui για όλες τις πλατφόρμες.

Πως σας φάνηκε; Λέτε να το δοκιμάσετε;

14 «Μου αρέσει»

Καλό και χρήσιμο άρθρο κυρίως γιατί είναι cross platform. Χρησιμοποιούσα mozilla lockwise που δεν καλύπτει εκτός browser σε terminal passwords οποτε θα του δώσω μια ευκαιρία.

3 «Μου αρέσει»

Μπράβο, πολύ ωραίο και χρήσιμο.
Εγώ χρησιμοποιώ το keepass2 με οδηγίες που είχα βρει κάποτε στο Osarena. Ευτυχώς τις κράτησα, γιατί ο σύνδεσμος προς το άρθρο αυτό πλέον δεν λειτουργεί.
Βάζω τις οδηγίες αυτές εδώ, γιατί είναι κρίμα να χαθούν έτσι. Αν από το osarena το δουν ας επαναφέρουν το άρθρο.
Έχω κάνει κάποιες μικροεπεμβάσεις στις οδηγίες γιατί το πρόσθετο πχ PasslFox δεν υπάρχει πλέον.
Το άρθρο λοιπόν (μαζί με τον ανενεργό σύνδεσμο απ όπου το έχω πάρει):

http://osarena.net/hacks-guides/keepass-password-manager-se-browser.html
εγκαταστήστε
sudo apt-get install keepass2 mono-complete
Το mono-complete, είναι το απαιτούμενο και θα μας εγκαταστήσει μια σειρά από mono-libs.

-Χρειαζόμαστε όμως και μια μοντούλα ακόμα.
Κατεβάστε την λοιπόν, από το GitHub GitHub - pfn/keepasshttp: KeePass plugin to expose password entries securely (256bit AES/CBC) over HTTP (στο δεξί μέρος, έχει το download button).

Αποσυμπιέστε το ZIP αρχείο μόλις κατέβει και ανοίξτε τον αποσυμπιεσμένο φάκελο. Εκεί, θα βρείτε ένα αρχείο με τ’ όνομα: KeePassHttp.plgx και είναι αυτό που χρειαζόμαστε:

Αυτό που χρειάζεται, είναι να μεταφέρουμε αυτό το αρχείο, στον φάκελο με τα plugins του KeePass. Αυτός βρίσκεται στη διαδρομή:

/usr/lib/keepass2/Plugins

η πιο γρήγορα, ανοίξτε το τερματικό σας και δώστε τα ακόλουθα, ώστε να μεταφερθεί αυτόματα εκεί:

sudo mkdir /usr/lib/keepass2/Plugins /usr/lib/keepass2/Languages

sudo mv ~/keepasshttp/KeePassHttp.plgx /usr/lib//keepas2/Plugins

-Στη συνέχεια, ανοίξτε το Keepass2 από το μενού σας.

Κανονικά, θα πρέπει στο Tools menu του, να δείτε και την επιλογή: KeePassHttp Options. Αυτό σημαίνει πως η μοντούλα που προσθέσατε δουλεύει.

-Τώρα, θα πρέπει να προσθέσετε κάποιο addon στον browser σας:

PasslFox ή το KeePassHelper Password Manager (για τον Firefox)

ChromelPass (για Chrome/Chromium)

-Αφού τα εγκαταστήσετε και κάνετε την απαραίτητη επανεκκίνηση του browser, θα εμφανιστεί ένα παραθυράκι, με τ’ οποίο θα μπορείτε να συνδεθείτε με το KeePassHttp.

Αυτό θα δημιουργήσει, ένα κρυπτογραφημένο κλειδί (encryption key), τ’ οποίο και θα αποθηκευτεί στην βάση δεδομένων του KeePass.

Στη συνέχεια η από τις ρυθμίσεις του μενού του στον browser σας, η με δεξί κλικ, θα δείτε την επιλογή που σας επιτρέπει να εισάγετε το όνομα χρήστη και τον κωδικό πρόσβασης αυτόματα:
Αυτό ήταν, πλέον το KeePass, έχει πλέων ενσωματωθεί στον browser σας.
για αλλαγή γλώσσας αποσυμπιέζουμε το Greek.lngx και το τοποθετούμε στο /usr/lib/keepass2/Languages.

4 «Μου αρέσει»

IA is your friend, mate!

Καλώς ήρθες @geraki στην παρέα μας :hugs: