IPython: comment effacer l'histoire d'IPython de manière sélective et sécurisée?

j'ai été d'apprendre à utiliser le paramiko le paquet pour découvrir que tout ce que je stockés les mots de passe en texte brut dans IPython %hist. Pas si bon.

je dois donc me débarrasser de certaines parties de ce qui est stocké dans %hist. Disant cela, je ne veux pas essuyer l' toute l'histoire. - Seulement les parties où j'ai été assez négligent pour taper password = ou similaire choisi terme.

Merci


Commentaires je n'ai pas besoin:

  • %clear autorise seulement la session. Il n'essuyez pas l'histoire.
  • Oui. Je n'utiliserai que xSA_keys à partir de maintenant.
20
demandé sur root-11 2013-10-26 15:43:03

5 réponses

l'Histoire est stocker sur $(ipython locate)/profile_default/history.sqlite par défaut. Vous pouvez supprimer le fichier ou n'importe quelle opération que vous voulez (secure erase, etc..). C'est un fichier sqlite donc vous pouvez le charger avec n'importe quel programme sqlite et faire des requêtes dessus.

Case $(ipython locate)/profile_default/ et $(ipython locate)/profile_xxx que vous n'avez pas d'autres fichiers d'historique. $(ipython locate) généralement ~/.ipython/ mais peut varier:

ls $(ipython locate)/profile_*/*.sqlite
29
répondu Matt 2018-07-05 20:43:50

Une solution serait:

sqlite ~/.ipython/profile_default/history.sqlite

delete from history where source like '%password =%';
13
répondu Ovidiu Ghinet 2016-08-19 20:44:51

Combinaison @Ovidiu Ghinetréponse@Mattaccepté de répondre à:

sqlite $(ipython locate)/profile_*/*.sqlite || sqlite3 $(ipython locate)/profile_*/*.sqlite

puis à partir de la console sqlite:

delete from history where source like '%password%';
select * from history; /* confirm that no passwords left        */
.quit                  /* forgot how to exit sqlite console? ;) */
2
répondu hobs 2018-07-05 21:16:30

Si vous voulez complètement depuis le début, il suffit d'aller et de supprimer le fichier suivant manuellement(Il a travaillé pour moi)

/home/utilisateur/.ipython/profil_default / history.sqlite

0
répondu Ankit 2018-07-15 07:13:15

Je n'ai pas pu trouver le moyen d'effacer l'histoire d'IPython de manière sélective, mais j'ai découvert comment effacer des données par func intégré, Non-sqlite way:

% #on efface l'historique de sortie

au fait, vous pouvez aussi clear dans l'histoire par %clear dans

0
répondu Magomed Shamaev 2018-09-02 22:23:48