Tag: ssh

Docker容器sshd日志

如何使用openssh-server在Docker容器中启用ssh连接日志(/var/log/auth.log)? /var/log/auth.log不存在于我的容器中。 docker版本:9.0 主机:Ubuntu 13.10 容器:Ubuntu 13.10

在SSH下的Docker中,无法使剪贴板转发工作

我有SSH连接到服务器没有X会话。 我已经设置了SSH来转发X.当我通过SSH连接到该服务器并input: user @ host-machine:〜$ ssh remote-server user @ remote-server:〜$ echo hello | xsel -bi 一切顺利 – 我在主持人的剪贴板上收到“你好”。 我有基于Ubuntu的简单的Docker镜像。 我使用以下参数运行映像: docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix myimage bash 。 然后,我正在input容器内: user @ host-machine:〜$ docker run -e DISPLAY = $ DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix myimage bash user @ 92c40ac9feb7:〜$ echo hello | xsel -bi 一切顺利 – 我在主持人的剪贴板上收到“你好”。 […]

通过SSH推送Docker镜像(分布式)

TL; DR基本上,我正在寻找这个: docker push myimage ssh://myvps01.vpsprovider.net/ 我没有把握整个Docker Hub / Registry的基本原理。 我知道我可以运行一个私人registry,但为此我必须build立实际运行服务器的基础设施。 我深入了解Docker的内部工作(至less是文件系统),看起来像Docker的图像层只是一堆压缩文件,或多或less地有一些精心devise的文件命名。 我天真地认为这不是一个简单的Python脚本来做分布式推/拉,但当然我没有尝试,所以这就是为什么我问这个问题。 有没有技术上的原因,为什么docker不能像Git或Mercurial一样分布式(无服务器)推/拉? 我认为这将是一个巨大的帮助,因为我可以将我在笔记本电脑上构build的映像直接推送到应用程序服务器上,而不是先推到某个地方的repo服务器,然后从应用程序服务器上拉出。 或者,也许我刚刚误解了这个概念,registry是我绝对需要的一个非常重要的function? 编辑一些上下文,希望解释为什么我想这个,考虑以下情况: 开发,testing在我的笔记本上完成(OSX,运行Docker机器,使用docker-compose来定义服务和依赖) 通过脚本部署到实时环境(自编写,bash,在dev机器上很less依赖,基本上只是Docker机器) 部署到除SSH访问和Docker守护程序之外的依赖性很less的新VPS。 没有“永久性”服务在任何地方运行,即我特别不想托pipe一个永久运行的registry(特别是所有的VPS实例都不可访问,尽pipe这可能会通过一些聪明的SSH隧道来解决) 目前最好的解决scheme是使用Docker机器指向VPS服务器并重build它,但是它会减慢部署,因为我必须每次都从源代码构build容器。

从Docker容器中访问主机的ssh隧道

使用Ubuntu tusty,有一个服务运行在远程机器上,我可以通过端口转发通过ssh隧道从localhost:9999 。 我有一个docker集装箱运行。 我需要通过主机的隧道从容器内访问远程服务。 我尝试使用-L 9000:host-ip:9999从容器隧道到主机,然后通过容器内的127.0.0.1:9000访问服务失败。 为了检查端口映射是否打开,我nc -luv -p 9999 # at host nc -luv -p 9000 # at container尝试了nc -luv -p 9999 # at host nc -luv -p 9000 # at container 在这之后,parag。 2但是没有感知到的通信,即使在容器上执行nc -luv host-ip -p 9000 我也尝试通过docker run -p 9999:9000来映射端口,但是这会报告绑定失败,因为主机端口已经在使用了(从主机隧道到远程机器,据推测)。 所以我的问题是 1 – 我将如何实现连接? 我是否需要为主机设置一个ssh隧道,或者单独使用docker port mapping来实现? 2 – testing连接是否正常的快速方法是什么? 通过bash,最好。 […]

如何用docker-machine运行多个boot2docker?

我在Ubuntu 14.04上使用docker-machine。 我有一个虚拟机,使用以下命令运行boot2docker `docker-machine create –driver virtualbox dev ` 我正试图通过以下创build另一个虚拟机 `docker-machine create -d virtualbox –virtualbox-boot2docker-url /home/<user name>/Downloads/rancheros.iso rancher` 它运行,给出消息 `Waiting for VM to start` 然后 `docker@localhost's password:` 等待密码。 我尝试了密码tcuser (在github#405上看到它)无济于事。 对于VM dev:Boot2Docker版本1.6.2,构build主机:4534e65

Docker – Gitlab容器。 SSH的gitlogin错误

我有一个Gitlab应用程序的Docker容器。 当我执行一个混帐克隆/推/拉命令不工作,并输出此消息:“致命的协议错误坏行长度字符:Welc” 服务器响应不是git预期的响应(这是对普通ssh连接的响应)。 发生这种情况是因为在连接过程中出现错误,请参阅: Mar 20 14:55:31 gitlab sshd[7934]: reverse mapping checking getaddrinfo for XXXX.XXXX.XXX.XX.static.host.gvt.net.br [XXXX.XXXX.XXX.XX] failed – POSSIBLE BREAK-IN ATTEMPT! Mar 20 14:55:32 gitlab sshd[7934]: Accepted publickey for git from XXXX.XXXX.XXX.XX port XXXX ssh2 Mar 20 14:55:32 gitlab sshd[7934]: pam_loginuid(sshd:session): set_loginuid failed Mar 20 14:55:32 gitlab sshd[7934]: pam_unix(sshd:session): session opened for user git by […]

如何安全地将SSH密钥传递给Docker构build?

我想创build一个复制我们的生产服务器的开发者的Docker镜像。 这些服务器由Ansibleconfiguration。 我的想法是运行一个ansible-pull的适用于容器内的所有configuration。 问题是我需要使用SSH密钥来获取剧本,但我不想在Docker镜像上共享SSH密钥。 那么,有没有一种方法可以让SSH密钥在运行时没有运行时间呢?

如何使用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机

从Docker实例使用Bitbucketpipe道SSH进入登台机器

使用新的Bitbucketpipe道function,我怎样才能从它启动的docker集装箱SSH进入我的舞台框? 我的pipe道中的最后一步是一个.sh文件,它在分段中部署必要的代码,但是因为我的分段复制框使用公钥authentication,并且不知道docker容器,所以SSH连接被拒绝。 无论如何绕过这个,而不使用通过SSH密码authentication(这是通过不断select通过公钥进行身份validation,导致我的问题)?

在Docker容器内使用bower,并使用私有的repo依赖

我试图在docker-compose.yml容器中运行bower install ,作为docker-compose.yml的命令传递 docker-compose.yml中的相关代码: services: assets: build: ./src command: > sh -c ' bower install –allow-root; ' bower.json具有以下依赖性: { "name": "projectname", "version": "version", "dependencies": { "remote-repo": "ssh://git@remoterepo.url/repo.git#branch" } } 这个远程回购是私人的。 主机具有正确的SSH凭据以从该远程端口获取。 我已经尝试从我的主机传递SSH凭据到docker容器4或5种不同的方式,但每次尝试都给我同样的错误信息: docker_1 | bower repo#branch ECMDERR Failed to execute "git ls-remote –tags –heads ssh://git@remoterepo.url/repo.git", exit code of #128 Host key verification failed. fatal: Could […]