コマンドラインでGnomeキーリングデーモンのロックを解除します。

コマンドラインでGnomeキーリングデーモンのロックを解除します。

パスワードを直接渡して、コマンドラインからGnome Keyring Daemonのロックを解除しようとしています。 --daemonize、--login、--startのいくつかのバリエーションを試しましたが、正しく動作しませんでした。

echo $password | gnome-keyring-daemon --unlock何もロック解除せずに戻ってきましたSSH_AUTH_SOCK=/run/user/1000/keyring/ssh

基本的に私は次のようなものが欲しい:

gnome-keyring-daemon unlock --pw $password

違いがあるかどうかはわかりませんが、Manjaro i3wmバージョンを使用しているため、デスクトップ環境を使用しません。

背景:

私はKeePassXCを使用してキーリングを管理しています。 1つの欠点は、ログイン時にキーリングを自動的にロック解除できないことです。 2つの長いパスワードを入力したくないので、回避策として次のスクリプトを考えました。

  • Gnome Keyring Daemonを自動的にロック解除するにはログインしてください。
  • Gnome Keyring Daemonには、KeePassXCのPW(一部)が唯一の項目として含まれています。
  • プロンプトにパスワードの最後の文字を入力してください。
  • Gnome Keyringデーモンを倒す
  • パスワードの組み合わせを使用したKeePassXCのロック解除

今、私は再びKeePassXCをロックする反対のタスクを実行したいと思います。

  • KeePassXCでGnome Keyring DaemonのPWを入手してください。
  • KeePassXCを殺す
  • GnomeKeyringDaemon ロック解除 <- 作業できない部分です。

ベストアンサー1

--unlock(現在)必要な操作を正確に実行するgnome-keyring-daemonのパラメータがあります。通常、呼び出されるとロックが解除され、悪魔化され、エコーされますSSH_AUTH_SOCK。すでに実行されている既存のデーモンがあると思われる場合は、そのパラメーターを--replace追加して新しいデーモンにシームレスに切り替えることができます。

私は定期的に公開鍵(パスワードなし)を使用してsshを介してヘッドレスUbuntu 20.0.4LTSシステムにログインしますが、開発目的で利用可能なキーリングが必要な場合があります。そのため、bash設定ファイルで次の関数を定義し、ロック解除がうまく行われました(既存のデーモンが実行されているかどうかにかかわらず)。

# Linux unlock gnome keyring
function unlock-keyring ()
{
    read -rsp "Password: " pass
    export $(echo -n "$pass" | gnome-keyring-daemon --replace --unlock)
    unset pass
}

おすすめ記事