4
我使用Blackbox來保護我的倉庫中的敏感文件,但突然間,對我來說,莫名其妙地停止了工作。Blackbox:GPG解密失敗(不知道ctb = 00)
我正在運行GitLab CI部署腳本,並且blackbox_postdeploy
失敗,並顯示消息gpg: [don't know] ctb=00
。
我已經能夠發現ctb=00
通常與損壞的鑰匙串有關,但由於我在一個乾淨的Docker容器上運行(通過GitLab CI),我不知道如何修復它。
下面是來自GitLab CI腳本輸出:
$ gpg -v --import <(echo "$GPG_PRIVATE_KEY")
gpg: directory `/root/.gnupg' created
gpg: new configuration file `/root/.gnupg/gpg.conf' created
gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/root/.gnupg/secring.gpg' created
gpg: keyring `/root/.gnupg/pubring.gpg' created
gpg: pub 4096R/ABC1234 2017-04-28 Bot <[email protected]>
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: using PGP trust model
gpg: key ABC1234: public key "Bot <[email protected]>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
$ which ssh-agent || (apt-get update -y && apt-get install openssh-client -y)
/usr/bin/ssh-agent
$ eval $(ssh-agent -s)
Agent pid 72
$ ssh-add <(echo "$SSH_PRIVATE_KEY")
Identity added: /dev/fd/63 (rsa w/o comment)
$ mkdir -p ~/.ssh
$ [[ -f /.dockerenv ]] && echo "$SSH_SERVER_HOSTKEYS" > ~/.ssh/known_hosts
$ git config --global url."[email protected]:".insteadOf "https://gitlab.com/"
$ ln -s /builds /go/src/gitlab.com
$ cd /go/src/gitlab.com/me/mysystem
$ blackbox_postdeploy
========== Importing keychain: START
gpg: [don't know]: invalid packet (ctb=00)
gpg: key export failed: invalid packet
ERROR: Job failed: exit code 1
事情我已經嘗試:
- 手動刪除黑箱文件。
- 強制重新初始化存儲庫中的Blackbox。
- 爲我的部署機器人重新創建公鑰。
- 在部署前卸下容器上的文件夾
/root/.gnupg
。
任何人都可以幫我一起嗎?這偶爾會破壞我的存儲庫,這對我的開發過程是一個巨大的痛苦。
謝謝。
我也被困在這個,最近解決了它。你使用'gpg2'嗎? –
嘿!謝謝回答。是的,我認爲我們正在使用GPG2。 –
太好了。所以我做了幾件事。希望你能夠編輯你的腳本文件。 在編輯'_ {GPG:= gpg}「;'到'$ {GPG:= gpg2}」;'(大約在第26行)的'_blackbox_common.sh'文件中。我還編輯了'function get_pubring_path()''echo「$ {KEYRINGDIR} /pubring.kbx」'。然後,我編輯''函數prepare_keychain()'在以'$ GPG --export ...'開始的行和下面的行,我用'$ GPG --keyring「替換$(get_pubring_path)」--export | $ GPG --import'。 TL:DR。 ['_blackbox_common.sh'](https://gist.github.com/gurpreet-/6e58947136a0e6c6001729143a40a33e) –