Ylva - Commandline Password Manager
はじめに
みなさんアカウントの管理ってどうやってるんでしょう.
テキストにIDとPWを平文で書いてデスクトップに置いておくような杜撰な管理している人結構いるように思う.
その道に明るい人なら KeePass や Bitwarden,1Password などの 名前くらいは聞いたことがあるかもしれない.
私の要件としては以下の通り.
ということでたまたま見つけた Ylva というパスワードマネージャをお試しで使ってみた.
環境
ESXi 上に適当に立てた検証用CentOS上でお試しインストールしてみる.
$ cat /etc/centos-release CentOS Linux release 7.7.1908 (Core) $ uname -orm 3.10.0-1062.9.1.el7.x86_64 x86_64 GNU/Linux
導入
関連パッケージインストール
$ sudo yum install git openssl-devel sqlite-devel gcc make
ビルドとインストール
$ git clone https://github.com/nrosvall/ylva.git $ cd ylva/ $ make $ sudo make install $ ylva -V Ylva version 1.5
使い方
ヘルプは以下の通り.
$ ylva -h SYNOPSIS ylva [flags] [options] OPTIONS -i --init <path> Initialize new database -e --encrypt Encrypt the current password database -d --decrypt <path> Decrypt password database -a --add Add new entry -D --duplicate <id> Duplicate an entry -s --show-db-path Show current database path -u --use-db <path> Switch using another database -r --remove <id> Remove entry pointed by id -f --find <search> Search entries -F --regex <search> Search entries with regular expressions -c --edit <id> Edit entry pointed by id -l --list-entry <id> List entry pointed by id -t --show-latest <count> Show latest <count> entries -A --list-all List all entries -h --help Show short help and exit. This page -g --gen-password <length> Generate password -q --quick <search> This is the same as running --show-passwords -f -V --version Show version number of program FLAGS --auto-encrypt Automatically encrypt after exit --show-passwords Show passwords in listings --force Ignore everything and force operation --force only works with --init option For more information and examples see man ylva(1). AUTHORS Copyright (C) 2019 Niko Rosvall <niko@byteptr.com>
DBファイルを作る
オプションで指定した場所にDBファイルが作成される. この中でアカウント情報を管理していく.
$ ylva -i TestDB $ ls TestDB
エントリー追加
オプション -a
でエントリーを追加することが出来る.
パスワードを考えるのが面倒なら勝手に生成もしてくれる.
$ ylva -a Title: test Username: test Url: test Notes: test Password (empty to generate new):
エントリー確認
エントリーはこんな形で確認が出来る.
$ ylva -A ===================================================================== ID: 1 Title: test User: test Url: test Password: ********** Notes: test Modified: 2019-12-dd hh:mm:ss =====================================================================
もちろんパスワードを表示することも出来る.
$ ylva --show-passwords -A ===================================================================== ID: 1 Title: test User: test Url: test Password: test Notes: test Modified: 2019-12-dd hh:mm:ss =====================================================================
エントリー削除
例えばエントリーが2つある状態で,
$ ylva -A ===================================================================== ID: 1 Title: test User: test Url: test Password: ********** Notes: test Modified: 2019-12-dd hh:mm:ss ===================================================================== ===================================================================== ID: 2 Title: test2 User: test2 Url: test2 Password: ********** Notes: test2 Modified: 2019-12-dd hh:mm:ss =====================================================================
ID=1 のエントリーを削除してみると
$ ylva -r 1 Entry was deleted from the database.
こんな感じ.
$ ylva -A ===================================================================== ID: 2 Title: test2 User: test2 Url: test2 Password: ********** Notes: test2 Modified: 2019-12-dd hh:mm:ss =====================================================================
その他
ylva が開いているDBファイルは以下ファイルで確認できる.
DBファイルを削除したときに ylva がDBファイルを開いていると認識している場合はこのファイルも削除すればいい.
$ cat ~/.ylva.open_db testDB
所感
- いいところ
- ローカルでアカウントを管理出来る
- コマンドラインから操作出来る
- わるいところ
- オプションがいまいち直感的でない
-c --edit
を-e --edit
こうしたい などなど
- コマンド名が打ちにくい
- 旧名 titan の方がよかった
- できればパッケージとして提供してほしい
- オプションがいまいち直感的でない
もう少しコミュニティが大きくなったら使おうかなと言う感じ.