[PYTHON] Comment se connecter automatiquement comme 1Password depuis CLI

introduction

Il existe une application Mac appelée «1Password».

Cette application aide au cryptage fort et à la connexion automatique des mots de passe stockés.

Ici, je pense que de nombreux utilisateurs de CLI utilisent l'outil OSS appelé Keepass.

J'utilise également le Keepass.

Par conséquent, j'ai essayé de créer un outil pour aider à la connexion automatique en utilisant le fichier de base de données créé par Keepass.

airkeepass

airkeepass

Installer et exécuter

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

cd !$:t

./airkeepass

Il y a des outils dont j'ai besoin, mais je me suis assuré qu'ils sont automatiquement téléchargés.

Les outils suivants sont automatiquement téléchargés. L'emplacement de téléchargement est ʻairkeepass / tool / `.

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

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

Exécution à partir de la commande

Si vous ne souhaitez pas utiliser le menu de sélection, cochez ʻairkeepass / text / theme.txt`.

commander Contenu
./airkeepass login-a Exécution de la connexion automatique
./airkeepass login-k Ajouter un fichier de base de données
./airkeepass login-l Afficher la liste
./airkeepass login-t Tester la connexion
./airkeepass login-b Spécifier un navigateur
./airkeepass login-d Supprimer les fichiers personnels
./airkeepass login-e Fin

Connexion automatique

Essayons la connexion automatique.

Un fichier de base de données de test est disponible, alors sélectionnez-le. text / keepass-test.kdb

Le navigateur spécifié s'ouvre, l'ID et le mot de passe sont saisis et Entrée est enfoncée.

L'emplacement du fichier de base de données est enregistré dans text / keepass.txt, donc une fois que vous exécutez ʻairkeepass`, il sélectionnera à nouveau le même fichier.

Pour le changer, sélectionnez login-k ou spécifiez-le comme argument.

Si vous n'êtes pas dans le candidat, entrez le chemin manuellement.

point important

Vous pouvez être sûr de vous connecter à l'aide de «Google Chrome».

Cependant, si vous sélectionnez "Safari" et "Firefox", cela peut échouer en fonction du rechargement du navigateur.

La cause est le code suivant.

script/browser_form_input.sh


Safari|Firefox)

echo "
tell application \"$brows\"

--Opération clé(C-v,Tab,contribution,Enter)
--réduction

"|osascript -
;;

Google Chrome|*)

echo "
tell application \"$brows\"

--Traitement en attente de la fin du rechargement
   repeat while loading of active tab of window 1
        delay 0.1
   end repeat

--Exécuter la pâte
    paste selection active tab of window 1

--Opération clé(Tab,contribution,Enter)
--réduction

"|osascript -
;;

Chrome écrit l'achèvement du rechargement et le collage du traitement, mais pas Safari et Firefox.

Recommended Posts

Comment se connecter automatiquement comme 1Password depuis CLI
Comment se connecter à Docker + NGINX
Comment se connecter à AtCoder avec Python et soumettre automatiquement
Acquérir automatiquement le journal des opérations dans le terminal lors de la connexion à Linux
Comment convertir csv en tsv dans la CLI
Comment faire fonctionner Linux depuis la console
Comment accéder à la banque de données de l'extérieur
Comment vérifier le GAE local à partir du navigateur iPhone dans le même LAN
Comment utiliser la bibliothèque C en Python
Connectez-vous à un serveur distant avec SSH
Comment obtenir les résultats de l'identifiant dans Celery
Comment faire fonctionner Linux depuis l'extérieur Procédure
Comment mesurer la vitesse de la ligne depuis le terminal
Comment obtenir les fichiers dans le dossier [Python]
Connectez-vous avec json en utilisant pygogo.
La première étape de l'analyse du journal (comment formater et mettre les données du journal dans Pandas)
[Python] Comment supprimer les valeurs en double de la liste
Comment obtenir le nom de la variable lui-même en python
Comment exécuter le module Ansible ajouté dans Ansible Tower
Comment obtenir le nombre de chiffres en Python
Comment connaître le répertoire actuel en Python dans Blender
Envoyer les données du journal du serveur vers Splunk Cloud
Comment autoriser les utilisateurs nologin à se connecter sous Linux
Comment utiliser la clause exist dans l'ensemble de requêtes Django
Comment créer un outil CLI interactif avec Golang
Comment lancer instantanément Jupyter Notebook à partir du terminal
Comment télécharger des fichiers depuis Selenium of Python dans Chrome
[Procédure simple] Pour vous connecter à ssh sans mot de passe
Comment modifier le répertoire statique par défaut dans Flask
Comment lire le journal du solveur CBC (Pulp, python-mip)
Comment utiliser le modèle appris dans Lobe en Python
Comment publier un ticket depuis l'API Shogun
[Python] Comment afficher les valeurs de liste dans l'ordre
Comment écrire une validation personnalisée dans Django REST Framework
[python] Comment vérifier si la clé existe dans le dictionnaire
Comment découper un bloc de plusieurs tableaux à partir d'un multiple en Python
Comment déboguer une bibliothèque Python standard dans Visual Studio
Comment utiliser le générateur
Comment utiliser la méthode __call__ dans la classe Python
Comment importer des fichiers où vous le souhaitez en Python
Comment définir l'attribut de classe html dans le formulaire forms.py de Django
Comment manipuler le DOM dans iframe avec Selenium
Comment compter rapidement la fréquence d'apparition des caractères à partir d'une chaîne de caractères en Python?
Comment générer une requête à l'aide de l'opérateur IN dans Django
Comment effectuer les réglages initiaux à partir de la création de projet Django
Comment exécuter automatiquement la fonction d'exportation de GCP Datastore
Comment échantillonner à partir de n'importe quelle fonction de densité de probabilité en Python
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Comment obtenir toutes les clés et valeurs du dictionnaire
Comment accéder à NAPALM depuis le Web (solution réelle NetDevOpsSec)
[Django] Je souhaite me connecter automatiquement après une nouvelle inscription
Je n'arrive pas à me connecter à la page d'administration avec Django 3
Dans Django, comment abréger la longue chaîne de caractères affichée au milieu ...
Comment développer en Python
Remarques sur l'utilisation de la guimauve dans la bibliothèque de schémas
Comment représenter la distribution de la composition bactérienne à partir des données d'analyse Qiime2 dans un diagramme de moustaches
[Shell] Comment obtenir la branche distante par défaut avec Git
Comment utiliser le décorateur
Comment augmenter l'axe
Comment démarrer la première projection
Comment prendre une capture d'écran de l'écran Chrome (l'empêcher de se couper au milieu)