martedì 6 novembre 2018

Keepass Linux e Google Drive ... si può fare

Sono anni che utilizzo Keepass, sia su PC che su Android, e i fatti lo dimostrano, poi da un annetto per motivi professionali sono passato ad utilizzare Linux quotidianamente ... certe applicazioni per Windows mi mancano ... Keepass sincronizzato con Google Drive ancora di più.
Dopo averci perso tante serate, finalmente sono riuscito a far funzionare il tutto, naturalmente il risultato lo ho trovato in rete (in inglese), qui la mia opera di traduzione.

DRIVE

Prima di tutto bisogna installare un tool che si chiama Drive, esso permette di allineare, manualmente una cartella/files con Google Drive.
Con Ubuntu, e le alre distribuzioni Debian è abbastanza facile utilizzando snap utilizzando i seguenti comandi:
sudo add-apt-repository ppa:twodopeshaggy/drive
sudo apt update
sudo apt install drive
Una volta installato ho generato sotto Documents la cartella gdrive
mkdir ~/Documents/gdrive
E poi ho inizializzato la cartella 
drive init ~/Documents/gdrive
Quando ho dato questo comando mi è apparso un prompt che mi chiedeva un codice di verifica.
Ho copiato la lunga url, la ho messa nel browser, un servizuo Google mi ha chiesto se ero sicuro di quello che facevo, ho accettato, mi è tornato, sempre sul browser un codice di verifica. Lo ho copiato e dato come risposta al quesito posto dal comando drive init.

Mi sono spostato nella cartella e ho caricato in essa il file con i seguenti comandi:
cd ~/Documents/gdrivedrive pull Database.kdbx
Il mio file si chiama Database.kdbx, il vostro non so, lo dovrete modificare, in caso fosse diverso.

SCRIPT

Ho dovuto creare due script, uno per effettuare l'allineamento del file Database alla partenza dell'applicazione, ed uno per salvarlo sul cloud di Google al termine del mio lavoro.
Il primo lo ho chiamato keepass_trigger_load.sh e di seguito ecco il contenuto:
#!/bin/bash
cd ~/gdrive
drive pull -ignore-conflict -quiet Database.kdbx
Il secondo lo ho chiamato keepass_trigger_save.sh e di seguito ecco il contenuto:
#!/bin/bash
cp ~/Documents/Database.kdbx ~/gdrive
cd ~/gdrive
drive push -ignore-conflict -quiet Database.kdbx 
Naturalmente ho dovuto dare i permessi di esecuzione ai due script:
chmod 744 kkepass*

KEEPASS

Ho installato Keepass con il seguente comando:
sudo apt install keepass2

Dopo l'installazione lo ho aperto, ho aperto il file ~/Documents/gdrive/Database.kdbx ed inserito la mia chiave/password
Sono andato nel menu Tools/Strumenti e ho scelto la voce Triggers.
Qui ho scelto il pulsante Add Inserito il nome del trigger, nel miio caso "Load From Google Drive" e ho cliccato su Next
Nella schermata successiva ho scelto la voce Application started and ready  e poi ho scelto Next

In questa schermata ho scelto direttamente Next, senza far nulla.
Nella successiva ho aggiunto nel campo File/URL l'indirizzo completo dello script keepass_trigger_load.sh
Ho dato ok e poi Finish sulla schermata successiva.
Ho generato anche un secondo trigger chiamato Save to Google Drive.
Nella scheda Events ho scelto Saved Database File.
Nella scheda Actions ho aggiunto il File/URL keepass_trigger_save.sh

A questo punto ho potuto vedere che automaticamente lavoravo su un file sempre allineato su Google Drive, anche da Linux.




2 commenti:

  1. Non funzionano gli script, almeno quello della copia da Google drive. Sto lavorando su un Linux Mint 19

    RispondiElimina
  2. Avevo visto gli stessi problemi anche io, ho superato il problema degli script cambinado applicazione.
    Io su Ubuntu ora utilizzo KeeWeb https://keeweb.info/ Fammi spaere se risolve anche per te.

    RispondiElimina