Tag: gnupg

在Docker容器内以非交互方式解密gpg文件

我正在尝试解密Docker容器内的gpg文件。 粗略地说, Dockerfile做了一些基本的工作: FROM myimage RUN … … COPY docker-entrypoint.sh /entrypoint RUN chmod u+x /entrypoint docker-entrypoint.sh包含: gpg –decrypt –passphrase=${PASSWORD} /path/to/encrypted/file > /path/to/unencrypted/file … exec "$@" 我正在做: docker build -t "myimage" . docker run -e PASSWORD -ti myimage 我得到: gpg: directory `/root/.gnupg' created gpg: new configuration file `/root/.gnupg/gpg.conf' created gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not […]

gpgp密钥请求在dockerfile中失败,但不是bash

我有一个问题,当我build立我的docker集装箱时,尝试接收gpg密钥失败。 我正在提供的命令在命令行执行时正常工作。 我在防火墙后面; 我有下面这个详细的代理设置。 主持人:CentOS 7.4; Docker版本17.09.0-ce,编译afdb6d4 对于正在使用的帐户,没有为代理设置环境variables。 Docker服务具有根据Docker设置的代理的环境variables: 在/etc/systemd/system/docker.service.d/http-proxy.conf : [Service] Environment="HTTP_PROXY=http://<corporate proxy>/" "HTTPS_PROXY="<corporate proxy>/" "NO_PROXY=localhost,127.0.0.1,.domain.local,.corp" 我使用build.sh shell脚本来构build图像: #/bin/bash docker build -t hgk/test-container . shell脚本与我的Dockerfile位于相同的位置。 这是目录中唯一的两件事情。 FROM openjdk:8 ARG KEYSERV=hkp://p80.pool.sks-keyservers.net:80 ARG THEPROXY=<my corporate proxy> # grab gosu for easy step-down from root # (see docker-sonarqube pull request #115) RUN set -x \ && wget […]

如何从Docker容器中访问私有Maven回购?

我们有许多用clojure编写的web服务,而且我们也有一些内部的共享依赖关系,我们保留在一个私有的maven仓库中。 Leiningen需要一个encryption的凭证文件,目前我们的每个开发人员都有自己的私钥,这些私钥在运行时用来解密凭证。 我试图迁移到容器,使部署和入职更容易,但马上我遇到了问题,从容器内lein run不能访问我的gpg键,这当然是在容器之外。 我设法使用docker run bash在容器内部生成一个密钥,并使用它来encryption凭据,但这不会扩展,因为我必须将未encryption的凭据保留在项目目录中。 我不确定最好的path是什么 – 我怎样才能安全地从私人回购拉动?

在Dockerfile构build期间删除$ GNUPGHOME错误

我在本地构buildrabbitMQ高山docker镜像,请参阅完整的Dockerfile RUN export GNUPGHOME =“$(mktemp -d)”\ && gpg –keyserver ha.pool.sks-keyservers.net –recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ && gpg –batch –verify /usr/local/bin/gosu.asc / usr / local / bin / gosu \ && rm -r“$ GNUPGHOME”/usr/local/bin/gosu.asc 随机我得到错误(主要在jenkinsCI系统) rm -rf /tmp/tmp.bBBnjn rabbitmq-server.tar.xz.asc rm:无法删除'/tmp/tmp.bBBnjn/S.gpg-agent.extra':没有这样的文件或目录 要么 rm -rf /tmp/tmp.GlfNBI rabbitmq-server.tar.xz.asc rm:无法删除'/tmp/tmp.GlfNBI/S.gpg-agent.ssh':没有这样的文件或目录 看起来gpg代理刚刚在rm中停止。 (删除时存在,删除时删除) 我使用Ubuntu 16.04 LTS版本 $ docker信息 容器:2 运行:2 暂停:0 停止:0 图片:193 […]

docker图像使用gpg密钥生成的最佳方法

我必须使用gpg –gen-key在Docker映像中生成gpg –gen-key ,但由于熵的原因,密钥生成需要很长时间。 在本地机器上,我可以用rng-tools填充我的熵,但是如何在Dockerfile实现这个Dockerfile呢? 在我的研究过程中,我发现了一些解决scheme,但没有一个人真的满意我。 你可以分享你在Dockerfile中生成密钥的方法吗? 编辑: 在Dockerfile中生成密钥的目的是,我必须从服务器上下载encryption文件(用docker容器的公钥encryption),解密并在docker容器/服务器上使用它。 我为此发现的文章: GPG密钥生成在Alpine Linux Docker镜像上失败 从docker容器中解密gpg Dockerize一切 – 在容器中运行gpg 在Docker容器中添加GPG密钥导致“找不到有效的OpenPGP数据”

如何pipe理dockerized应用程序中的GPG钥匙串?

我正在开发一个dockerized的Ruby on Rails应用程序,它有一个工作负责解密一系列文件,然后将它们加载到我们的数据库中。 由于gpg钥匙串不保证在部署之间包含私钥,工作人员必须下载私钥并每次导入。 require 'gpgme' def setup_gpg private_key = Tempfile.new(PRIVATE_KEY).binmode s3_client.get_object(bucket: config[:bucket], key: PRIVATE_KEY, response_target: private_key) GPGME::Key.import(private_key) end def decrypt_file(enc_file) decrypted_filename = enc_file.path.sub('.gpg', '.csv') File.open(enc_file) do |encrypted_file| File.open(decrypted_filename, 'w+') do |decrypted_file| crypto = GPGME::Crypto.new crypto.decrypt(encrypted_file, output: decrypted_file, password: config[:passphrase]) return decrypted_file end end end 我使用GPGME gem与ruby中的gpg二进制文件进行交互。 这种方法的问题是: 私钥存在于S3存储桶中 每次作业运行时都必须下载并导入私钥 我们可以通过检查密钥是否已经在keychain中来干这个过程,但是我想要完全消除这个步骤。 是否有一个最佳做法,如何维护dockerized应用程序的gpg钥匙串? 我有什么select来消除在S3中存储密钥而不提交密钥到源代码控制的需要?

从docker容器中解密gpg

我有一个encryption的文件与gpg,我想从docker容器内解密。 gpg没有在容器上find,我将如何添加它。

基于阿尔卑斯的口音图像中的“不是tty”错误

这是我在stackoverflow的第一个问题,所以我希望它会坚持社区准则: 我已经build立了一个基于已经存在的镜像的docker 镜像 ,这个镜像的唯一目的是在一个容器中运行重复的操作来将文件和文件夹备份到欧洲的Amazon S3存储桶。 在图像产生的容器内手动运行时,Duplicity工作了几天。 现在我继续运行CoreOS的主机上的单元文件的容器,事情不再工作 – 但该命令也不会工作,我手动在一个双重容器内运行它.. 运行命令: docker run –rm –env-file=<my backup env file>.env –name=<container image> -v <cache container>:/home/duplicity/.cache/duplicity -v <docker volume with gpg keys>:/home/duplicity/.gnupg –volumes-from <docker container of interest> gymnae/duplicity env文件包含以下内容: PASSPHRASE=<my super secret passphrase> AWS_ACCESS_KEY_ID=<my aws access key id> AWS_SECRET_ACCESS_KEY=<my aws access key> SOURCE_PATH=<where does the data come from> REMOTE_URL=s3://s3.eu-central-1.amazonaws.com/<my […]

用`gpg –recv-key`下载密钥,同时检查脚本中的指纹

如何通过gpg –recv-key导入gpg –recv-key并自动检查它的指纹? 理想情况下,我会直接使用gpg –recv-key $fingerprint ,但是gpg最近才添加了一个检查 ,即接收到的密钥实际上有正确的指纹,而不是盲目地信任密钥服务器,并且修复没有着落我关心的所有发行版(例如,Docker Ubuntu Image仍然有一个旧的gpg版本)。 我想和apt-key一起使用它来将一个PPA添加到一个docker容器中。

如何处理临时apt-key adv失败?

我有一个dockerfile,可以随时添加OpenPGP密钥。 问题是keyserver hkp://pgp.mit.edu:80不时响应。 有什么我可以做的,以避免这种浪费失败的时间?