LoginSignup
18
18

More than 5 years have passed since last update.

CLIから1Passwordのように自動ログインする方法

Last updated at Posted at 2014-04-06

はじめに

1PasswordというMacのアプリがあります。

このアプリは、保存されたパスワードの強度な暗号化と自動ログインを補助するものです。

ここで、CLIユーザーの方は、KeepassというOSSのツールを使っている人が多いと思います。

私も、Keepassの方を使っています。

よって、Keepassで作られたデータベースファイルを使って、自動ログインを補助するツールを作ってみました。

airkeepass

airkeepass

インストールと実行

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

cd !$:t

./airkeepass

必要なツールはいくつかありますが、自動ダウンロードされるようにしておきました。

自動ダウンロードされるのは、以下のツールです。ダウンロードされる場所は、airkeepass/tool/です。

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

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

コマンドからの実行

選択メニューを使わない場合は、airkeepass/text/theme.txtを確認して下さい。

コマンド 内容
./airkeepass login-a オートログインの実行
./airkeepass login-k データベースファイルの追加
./airkeepass login-l リストの表示
./airkeepass login-t テストログイン
./airkeepass login-b ブラウザの指定
./airkeepass login-d 個人ファイルの削除
./airkeepass login-e 終了

自動ログイン

試しに自動ログインしてみましょう。

テストのデータベースファイルが用意されていますので、それを選択します。text/keepass-test.kdb

指定したブラウザが開き、無事、IDとパスワードが入力され、Enterが押されました。

データベースファイルの場所は、text/keepass.txtに保存されますので、airkeepassは、一度実行すれば、次も同じファイルを選択します。

変更するには、login-kを選択または引数に指定します。

もし候補に上がってこない場所にある場合は、パスを手動で入力してください。

注意点

Google Chromeを使ってなら確実にログインできます。

しかし、SafariFirefoxを選択した場合は、ブラウザのリロードによっては失敗することがあります。

原因は以下のコードになります。

script/browser_form_input.sh
Safari|Firefox)

echo "
tell application \"$brows\"

--キー操作(C-v,Tab,入力,Enter)
--省略

"|osascript -
;;

Google Chrome|*)

echo "
tell application \"$brows\"

--リロード完了を待つ処理
   repeat while loading of active tab of window 1
        delay 0.1
   end repeat

--ペーストを実行
    paste selection active tab of window 1

--キー操作(Tab,入力,Enter)
--省略

"|osascript -
;;

Chromeは、リロード完了、ペーストの処理を書いていますが、SafariとFirefoxは書いていません。

18
18
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
18