可以通过以下方式导入私钥:
path="secret.gpg"gpg --import "$path"
得到以下输出:
$ path="secret.gpg"$ gpg --import "$path"gpg: key E1E734E00B611C26: "Pascal Landau <pascal.landau@example.com>" not changedgpg: key E1E734E00B611C26: secret key importedgpg: Total number processed: 1gpg: unchanged: 1gpg: secret keys read: 1gpg: secret keys unchanged: 1
注意:如果secret key需要密码,这里会提示输入密码 。我们可以使用以下方法绕过提示--batch --yes --pinentry-mode loopback
:
path="secret.gpg"gpg --import --batch --yes --pinentry-mode loopback "$path"
目前还不需要提供密码 , 但需要在稍后尝试解密文件时提供 。
导出、列出和导入gpg
公钥 , 可以通过以下方式导出public.gpg
:
email="pascal.landau@example.com"path="public.gpg"gpg --armor --export "$email" > "$path"
导出如下:
-----BEGIN PGP PUBLIC KEY BLOCK-----mQENBF7VVBwBCADo9un+SySu/InHSkPDpFVKuZXg/s4BbZmqFtYjvUUSoRAeSejvG21nwttQGut+F+GdpDJL6W4pmLS31Kxpt6LCAxhID+PRYiJQ4k3inJfeUx7Ws339...3LLbK7Qxz0cV12K7B+n2ei466QAYXo03a7WlsPWn0JTFCsHoCOphjaVsncIcHxNZt7eK644nWDn7j52HsRi+wcWsZ9mjkUgZLtyMPJNB5qlKQ18QgVdEAhuZxT3SieoBPd+tZikhu3BqyIifmLnxOJOjOIhbQrgFiblvzU1iOUOTOcSIB+7A=g0hF-----END PGP PUBLIC KEY BLOCK-----
通过以下方式列出所有公钥:
gpg --list-keys
输出:
$ gpg --list-keys/root/.gnupg/pubring.kbx------------------------pub rsa2048 2022-03-27 [SCEA]74082D81525723F5BF5B2099E1E734E00B611C26uid [ultimate] Pascal Landau <pascal.landau@example.com>sub rsa2048 2022-03-27 [SEA]
通过以下方式以与私钥相同的方式导入公钥:
path="public.gpg"gpg --import "$path"
例如:
$ gpg --import /var/www/app/public.gpggpg: key E1E734E00B611C26: "Pascal Landau <pascal.landau@example.com>" not changedgpg: Total number processed: 1gpg: unchanged: 1
git-secretgit-secret的官方网站可以找到详细介绍该工具的内容 。git-secret允许将某些文件声明为“secret”并通过 gpg
加密 。然后可以将加密的文件直接安全地存储在 Git 存储库中,并在需要时进行解密 。本文使用 git-secret v0.4.0
:
$ git secret --version0.4.0
git-secret 安装Alpine 的安装说明如下:
sh -c "echo 'https://gitsecret.jfrog.io/artifactory/git-secret-apk/all/main'" >> /etc/apk/repositorieswget -O /etc/apk/keys/git-secret-apk.rsa.pub 'https://gitsecret.jfrog.io/artifactory/api/security/keypair/public/repositories/git-secret-apk'apk add --update --no-cache git-secret
.docker/images/php/base/Dockerfile
进行更新:
# File: .docker/images/php/base/Dockerfile# install git-secret# @see https://git-secret.io/installation#alpineADD https://gitsecret.jfrog.io/artifactory/api/security/keypair/public/repositories/git-secret-apk /etc/apk/keys/git-secret-apk.rsa.pubRUN echo "https://gitsecret.jfrog.io/artifactory/git-secret-apk/all/main" >> /etc/apk/repositories && \apk add --update --no-cache \bash \git-secret \gnupg \make \#...
git-secret 用法初始化 git-secretgit-secret
通过在 Git 存储库的根目录中运行的以下命令进行初始化 。
git secret init$ git secret initgit-secret: init created: '/var/www/app/.gitsecret/'
只需这样操作一次,稍后会把文件夹提交到 Git,将包含以下文件:
$ git status | grep ".gitsecret"new file: .gitsecret/keys/pubring.kbxnew file: .gitsecret/keys/pubring.kbx~new file: .gitsecret/keys/trustdb.gpgnew file: .gitsecret/paths/mapping.cfg
该 pubring.kbx~
文件(带有波浪号~
)只是一个临时文件,可以安全地被 git 忽略 。
git-secret Directory 和 gpg-agent Socket要 git-secret
在主机系统和 Docker 之间共享的目录中使用,还需要运行以下命令:
tee .gitsecret/keys/S.gpg-agent <<EOF%Assuan%socket=/tmp/S.gpg-agentEOFtee .gitsecret/keys/S.gpg-agent.ssh <<EOF%Assuan%socket=/tmp/S.gpg-agent.sshEOFtee .gitsecret/keys/gpg-agent.conf <<EOFextra-socket /tmp/S.gpg-agent.extrabrowser-socket /tmp/S.gpg-agent.browserEOF
这一步很必要,因为 git-secret
在主机系统和 Docker 容器之间共享代码库的设置中使用时存在问题,具体如下:
gpg
使用gpg-agent
来执行其任务,这两个工具通过在pgp-agent
的--home-directory
中创建的套接字进行通信 。
- 代理通过
git-secret
使用的gpg
命令隐式启动 , 使用.gitsecret/keys
目录作为--home-directory
。
- Docker容器获取宿主机信息
- rx6600和3060哪个好_rx6600和3060选哪个
- 在王者荣耀游戏中,怎么破解上官婉儿的连招
- 王者上官婉儿怎么连招飞天口诀(上官婉儿的6种飞天方法口诀)
- 上官婉儿怎么免伤害连招(上官婉儿怎么玩连招细节)
- 1433223是上官婉儿的连招啊
- 上官婉儿连招技巧(婉儿100%飞天的连招张大仙)
- 上官婉儿怎么连招上天(婉儿怎么100%飞天)
- 上官婉儿怎么连招飞天口诀9种方法(上官婉儿100%飞天连招)
- 上官婉儿有哪些连招(上官婉儿100招口诀)