[PYTHON] So melden Sie sich automatisch wie 1Password von der CLI an

Einführung

Es gibt eine Mac-App namens "1Password".

Diese App unterstützt die starke Verschlüsselung und automatische Anmeldung gespeicherter Passwörter.

Hier denke ich, dass viele CLI-Benutzer das OSS-Tool "Keepass" verwenden.

Ich benutze auch den Keepass.

Aus diesem Grund habe ich versucht, ein Tool zur Unterstützung der automatischen Anmeldung mithilfe der von Keepass erstellten Datenbankdatei zu erstellen.

airkeepass

airkeepass

Installieren und ausführen

git clone https://github.com/syui/airkeepass

cd !$:t

./airkeepass

Es gibt einige Tools, die ich benötige, aber ich habe sichergestellt, dass sie automatisch heruntergeladen werden.

Die folgenden Tools werden automatisch heruntergeladen. Der Download-Speicherort ist "airkeepass / tool /".

percol https://github.com/mooz/percol

kptool https://github.com/shirou/kptool

Ausführung vom Befehl

Wenn Sie das Auswahlmenü nicht verwenden möchten, aktivieren Sie "airkeepass / text / theme.txt".

Befehl Inhalt
./airkeepass login-a Automatische Anmeldung ausführen
./airkeepass login-k Datenbankdatei hinzufügen
./airkeepass login-l Liste anzeigen
./airkeepass login-t Test Login
./airkeepass login-b Browser angeben
./airkeepass login-d Persönliche Dateien löschen
./airkeepass login-e Ende

Automatische Anmeldung

Versuchen wir es mit der automatischen Anmeldung.

Eine Testdatenbankdatei ist verfügbar. Wählen Sie sie daher aus. text / keepass-test.kdb

Der angegebene Browser wird geöffnet, die ID und das Passwort werden eingegeben und die Eingabetaste wird gedrückt.

Der Speicherort der Datenbankdatei wird in "text / keepass.txt" gespeichert. Sobald Sie "airkeepass" ausführen, wird dieselbe Datei erneut ausgewählt.

Um es zu ändern, wählen Sie "login-k" oder geben Sie es als Argument an.

Wenn Sie nicht im Kandidaten sind, geben Sie den Pfad manuell ein.

wichtiger Punkt

Sie können sicher sein, dass Sie sich mit "Google Chrome" anmelden.

Wenn Sie jedoch "Safari" und "Firefox" auswählen, kann dies je nach dem Neuladen des Browsers fehlschlagen.

Die Ursache ist der folgende Code.

script/browser_form_input.sh


Safari|Firefox)

echo "
tell application \"$brows\"

--Tastenbedienung(C-v,Tab,Eingang,Enter)
--Kürzung

"|osascript -
;;

Google Chrome|*)

echo "
tell application \"$brows\"

--Verarbeitung zum Warten auf den Abschluss des Neuladens
   repeat while loading of active tab of window 1
        delay 0.1
   end repeat

--Paste ausführen
    paste selection active tab of window 1

--Tastenbedienung(Tab,Eingang,Enter)
--Kürzung

"|osascript -
;;

Chrome schreibt den Abschluss des Neuladens und die Einfügeverarbeitung, Safari und Firefox jedoch nicht.

Recommended Posts

So melden Sie sich automatisch wie 1Password von der CLI an
So melden Sie sich bei Docker + NGINX an
So melden Sie sich mit Python bei AtCoder an und senden automatisch
Erfassen Sie das Betriebsprotokoll automatisch im Terminal, wenn Sie sich bei Linux anmelden
So konvertieren Sie csv in tsv in CLI
So bedienen Sie Linux von der Konsole aus
So greifen Sie von außen auf den Datenspeicher zu
So überprüfen Sie die lokale GAE über den iPhone-Browser im selben LAN
Verwendung der C-Bibliothek in Python
Melden Sie sich mit SSH bei einem Remote-Server an
So erhalten Sie Ergebnisse von id in Celery
So bedienen Sie Linux von außen Vorgehensweise
So messen Sie die Leitungsgeschwindigkeit vom Terminal aus
So erhalten Sie die Dateien im Ordner [Python]
Loggen Sie sich mit json mit pygogo ein.
Der erste Schritt zur Protokollanalyse (Formatieren und Einfügen von Protokolldaten in Pandas)
[Python] So entfernen Sie doppelte Werte aus der Liste
So erhalten Sie den Variablennamen selbst in Python
Ausführen des in Ansible Tower hinzugefügten Ansible-Moduls
So ermitteln Sie die Anzahl der Stellen in Python
Wie Sie das aktuelle Verzeichnis in Python in Blender kennen
Senden Sie Protokolldaten vom Server an Splunk Cloud
So erlauben Sie Nologin-Benutzern, sich unter Linux anzumelden
Verwendung der Exist-Klausel in Django Queryset
So erstellen Sie ein interaktives CLI-Tool mit Golang
So starten Sie Jupyter Notebook sofort vom Terminal aus
So laden Sie Dateien von Selenium of Python in Chrome herunter
[Einfache Vorgehensweise] Um sich ohne Passwort bei ssh anzumelden
So ändern Sie das statische Verzeichnis von der Standardeinstellung in Flask
Lesen des CBC-Löserprotokolls (Pulp, Python-Mip)
Verwendung des in Lobe in Python erlernten Modells
So veröffentlichen Sie ein Ticket über die Shogun-API
[Python] So geben Sie Listenwerte der Reihe nach aus
So schreiben Sie eine benutzerdefinierte Validierung in Django REST Framework
[Python] So überprüfen Sie, ob der Schlüssel im Wörterbuch vorhanden ist
So schneiden Sie ein Block-Multiple-Array aus einem Multiple-Array in Python
So debuggen Sie eine Standard-Python-Bibliothek in Visual Studio
Verwendung des Generators
Verwendung der Methode __call__ in der Python-Klasse
So importieren Sie Dateien in Python an eine beliebige Stelle
So legen Sie das HTML-Klassenattribut in Djangos forms.py fest
So manipulieren Sie das DOM im Iframe mit Selen
Wie kann man schnell die Häufigkeit des Auftretens von Zeichen aus einer Zeichenfolge in Python zählen?
So generieren Sie eine Abfrage mit dem IN-Operator in Django
So nehmen Sie erste Einstellungen für die Django-Projekterstellung vor
So führen Sie die Exportfunktion des GCP-Datenspeichers automatisch aus
Wie man aus einer Wahrscheinlichkeitsdichtefunktion in Python tastet
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
So erhalten Sie alle Schlüssel und Werte im Wörterbuch
Wie man NAPALM aus dem Web erreicht (NetDevOpsSec echte Lösung)
[Django] Ich möchte mich nach einer neuen Registrierung automatisch anmelden
Ich kann mich mit Django 3 nicht auf der Admin-Seite anmelden
Wie man in Django die angezeigte lange Zeichenkette in der Mitte abkürzt ....
Wie man in Python entwickelt
Hinweise zur Verwendung von Marshmallow in der Schemabibliothek
Darstellung der Verteilung der Bakterienzusammensetzung aus Qiime2-Analysedaten in einem Box-Whisker-Diagramm
[Shell] So erhalten Sie den Remote-Standardzweig mit Git
Wie benutzt man den Dekorateur?
So erhöhen Sie die Achse
So starten Sie die erste Projektion
So machen Sie einen Screenshot des Chrome-Bildschirms (verhindern Sie, dass er in der Mitte abgeschnitten wird)