Tag: ssh keys

使用dockerfile生成ssh密钥

我为我的一些项目使用了Docker,其中一个要求是使用Docker文件生成ssh密钥,以便在容器生成时生成一对rsa密钥。我已经看到了一些通过.sh文件生成密钥生成的示例和Dockerfile有commond来运行.sh文件。 有没有办法,我们可以直接在Dockerfile而不是.sh 目前我在Dockerfile中使用以下命令来生成ssh密钥对。 但是这给了我错误说:“/ bin / sh ssh-keygen not found” RUN ssh-keygen -q -t rsa -N '' -f /home/docker/.ssh/id_rsa 如果有人可以提供一种方法来实现这一点,那么这将非常有帮助。 谢谢,亚希

仅使用SSH密钥和dockerfile进行部署

请原谅我的开发天真,但我认为所有你需要部署到一台机器是一个正确的SSH密钥,一个端口公开,机器的IP地址login和代码部署。 那么是否有任何简单的解决scheme将代码部署到远程服务器,唯一的input是SSH密钥,Dockerfile和代码本身? 我认为它可以build立在确定性(几乎function)的方式,其中input是服务器的IP地址,login,输出是一个正在运行的服务器。 我已经尝试在数字海洋上设置Dokku( https://www.digitalocean.com/community/tutorials/how-to-use-the-digitalocean-dokku-application ),这需要DNSlogging和git。 我不需要那些作为依赖。 谢谢

Docker中的SSH代理转发组成容器

Could not open a connection to your authentication agent. 我正在按照将$SSH_AUTH_SOCK作为一个卷装入的方法 ,但是这样做的方式是$SSH_AUTH_SOCK 。 build立 ~/.ssh/config Host * ForwardAgent yes Dockerfile: FROM atlashealth/ruby:2.2.2 RUN apt-get update -qq && \ apt-get install -qy build-essential libxml2-dev libxslt1-dev \ g++ qt5-default libqt5webkit5-dev xvfb dbus \ libmysqlclient-dev \ mysql-client openssh-client git && \ # cleanup apt-get clean && \ cd /var/lib/apt/lists […]

在Docker构build期间的SSH代理转发

当通过dockerfilebuild立一个docker镜像时,我必须克隆一个github仓库。 我已经将我的公共ssh密钥添加到我的git hub帐户,并且能够从我的docker主机克隆repo。 虽然我看到我可以使用docker主机的ssh密钥通过映射$SSH_AUTH_SOCK envvariables在docker运行时像docker run –rm -it –name container_name \ -v $(dirname $SSH_AUTH_SOCK):$(dirname $SSH_AUTH_SOCK) \ -e SSH_AUTH_SOCK=$SSH_AUTH_SOCK my_image 。 在Docker构build过程中我怎样才能做到这一点?

如何将用户的现有.ssh目录挂载到Docker容器中?

我正在使用Windows 7上的boot2docker。VirtualBox正在从Windows( c:\Users\Me\.ssh )挂载我的Windows〜/ .ssh目录到boot2docker VM( /c/Users/Me/.ssh )中。 我的Dockerfile正在configuration一个图像作为开发环境使用。 它向容器复制一组用于自动部署的SSH密钥和configuration。 这工作正常。 当容器启动时,它会自动克隆映像中的git存储库而不提示。 我现在试图使用相同的图像,但允许用户通过docker run -v …自己的.ssh目录,以便他们可以select使用自己的SSH密钥来代替。 当我通过在运行容器的命令中添加-v /home/myself/.ssh:/home/guest/.ssh来实现这一点时,我得到了关于权限过于开放的SSH警告: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0777 for '/home/guest/.ssh/id_rsa' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. bad permissions: […]

从Docker容器内的git克隆项目

我在我的开发机器上运行了很less的docker容器。 我的开发机器获得了授权密钥。 有没有一种可能的方式来通过利用主机的SSH密钥从docker容器内部做Git项目克隆?

如何使用docker机器证书?

我开始学习docker-machine,并且不确定如何处理发出docker-machine create时生成的keys / certs: id_rsa id_rsa.pub userdata.tar docker-machine使用这些密钥/证书是如何使用它们的? 我可以将它们提交给回购,以便我的项目中的其他人可以控制远程泊坞窗机器? 另一个让我困惑的行为是: 如果我删除远程机器并创build第二台机器,docker-machine会询问我一个密码: INFO [0000]生成SSH密钥对… INFO [0000]上传Boot2docker ISO … INFO将/home/username/.docker/machine/cache/boot2docker-1.5.0-GH747.iso上传到数据存储上的boot2docker-iso vCenter的本地数据存储123.456.789.012 … INFO创buildvCenter的虚拟机MyMachineName 123.456.789.012 … INFOconfiguration虚拟机MyMachineName … INFO启动vCenter的虚拟机MyMachineName 123.456.789.012 … docker@123.456.789.013的密码: 但是,一旦我删除了id_rsa,id_rsa.pub和userdata.tar,docker-machine就可以创build机器而无需询问密码。 我尝试阅读文档,我发现的唯一信息是可以使用docker-machine regenerate-certs重新生成密钥/证书。 我很确定我只是缺less一些基本的常识,这就是为什么没有文件logging。 谢谢! 这似乎涉及到同一个问题,但是在阅读之后仍然不是很清楚: 从多个开发机器pipe理远程docker机

在部署到数字海洋时,Dokku推动导致断pipe

我感觉这个问题归根结底是对SSH密钥的一个根本的误解,但是我似乎无法确定为什么我不能再把git push dokku master给我在Digital Ocean上的Dokku + Docker设置。 我跟着这个教程开始时,我最初设置我的液滴,我能够部署到Dokku就好了,直到我戳到容器中,并以某种方式瘫痪docker和/或Dokku(仍试图了解这些以及… … )。 我怀疑这是不可挽回的,但我变得不耐烦,所以我只是抹掉了整个水滴,并从头开始教程。 然而,这一次,把所有的东西都设置完全相同,我可以通过SSH进入“root@mydomain.com”,但是我不能推到Dokku。 相反,在等待永恒之后,我得到: failed: Broken pipe fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 检查/var/log/auth.log我看到一个会话确实得到build立: Jan 8 00:56:39 localhost sshd[19559]: Accepted publickey for dokku from 79.113.124.516 port 56067 ssh2 Jan 8 00:56:39 localhost […]

使用SSH密钥进行Git并在Docker中运行的Spring Cloud Config Server

在最后把这些东西放在一起之前,我发现了许多问题和教程。 想要logging下来,这样别人可以节省很多小时的挫折。 我想在BitBucket上获得一个私人的git仓库,使用部署密钥来处理Spring Boot Config Server,并让它在Docker中运行。 我遇到了很多问题。 如何真正使用application.yml文件进行configuration。 我似乎无法弄清楚我应该把SSH的信息。 所有的教程似乎都是https。 如何提供configuration的私钥。 对于开发者来说,YML中内联的语法是一种痛苦。 对于生产,你必须通过一个环境variables来提供它,这是另一个语法杂事。 我不断收到一个私钥无效的错误。 如何让Docker容器相信主机密钥,而不用担心“你信任这个人”的提示。 似乎有几种方法来做这个工作,但只有一个为我工作。