Repreproとgpg-agent - パスワードはキャッシュされません。

Repreproとgpg-agent - パスワードはキャッシュされません。

私はここで少し不満を感じました。おそらく問題がどこにあるかを知っているでしょう。

  • 最後に、複数のrepreproコマンドを持つビルドプロセスがあります。
  • ビルドスクリプトはsudoを使用して実行されます。

    ( cd "$PUBLISHDIR" && \
    reprepro -Vb . -C untested remove squeeze foobar && \
    reprepro -Vb . -C untested includedeb squeeze ./foobar_*.deb && \
    reprepro -Vb . -C untested list squeeze foobar )
    
  • gpgを設定してキーを追加しました。エージェントが実行中です。

    ps lax | grep gpg-agent
    
    1  1002 25345     1  20   0  19284   996 -      Ss   ?          0:00 /usr/bin/gpg-agent --daemon --sh
    
  • 私のgpg-agent.confも設定されました

    # ignore-cache-for-signing
    enable-ssh-support
    write-env-file /home/daily/.gnupg/gpg-agent-info
    default-cache-ttl 31536000
    default-cache-ttl-ssh 31536000
    max-cache-ttl 31536000
    max-cache-ttl-ssh 31536000
    debug-all
    
  • これで .bashrc でエージェントを起動します。

    GNUPGHOME=~/.gnupg
    GPGAGENT=/usr/bin/gpg-agent
    PID_FILE=$GNUPGHOME/gpg-agent-info
    
    if grep -qs '^[[:space:]]*use-agent' "$GNUPGHOME/gpg.conf" "$GNUPGHOME/options" && test -x $GPGAGENT & then
      if [ -r "$PID_FILE" ]; then
        . "$PID_FILE"
        count=`ps lax | grep "/usr/bin/gpg-agent" | grep "$SSH_AGENT_PID" | wc -l`
        if [ $count -eq 0 ]; then
          if ! $GPGAGENT 2>/dev/null; then
            $GPGAGENT --daemon --sh > "$PID_FILE"
            . "$PID_FILE"
            echo "INFO::agent started"
          fi
        else
          echo "INFO::agent already running"
        fi
      fi
    fi
    ssh-add
    

ただし、プロセス全体をどのくらいの頻度で実行しても、reprepro署名プロセス中に常にパスワードを求めるメッセージが表示されます。私はプロキシがこのパスワードをキャッシュし、次回実行したときに保存され、再び尋ねないと思いました。しかし、パスワードを求めます...続けて...

バグや他の理由がなぜ常にパスワードを要求するのか考えることができる人はいますか?

ベストアンサー1

おすすめ記事