Tag: ssh

我如何使用git客户端来访问gitlab docker?

我已经成功运行了gitlab docker image ,但无法使用git客户端来访问它。 (1)我发现有3个IP地址: a)主机IP: 10.137.20.113 ; b)连接gitlab运行容器,显示其IP: 172.17.0.13 ; c)login网页,显示项目地址: ssh: git@192.168.59.103:root/test.git 。 为什么有一个IP地址( 192.168.59.103 )? (2)我已经在gitlab添加了root用户SSH密钥,但是无法使用ssh -p 2222 10.137.20.113命令访问服务器。 我如何使用git客户端来访问gitlab ?

第二个ssh会话无法连接到docker主机

我有服务器与debian操作系统。 我安装了泊坞窗,它可以正常工作,你可以看到如下: root@3053b0461a3c:/# which wget /usr/bin/wget root@3053b0461a3c:/# 一个基于Ubuntu的容器正在运行。 然后我开始了第二个terminal,通过ssh连接到服务器并input控制台 docker ps 但是作为输出,我得到了这样的信息: Cannot connect to the Docker daemon. Is the docker daemon running on this host? 为什么docker服务没有运行?

禁用从Docker容器到主机的SSH访问

我正在运行一个CoreOS来托pipe一些Docker容器,并且我想阻止从容器到CoreOS主机的SSH访问,我猜这将是一个合理的安全问题。 我试图使用/etc/hosts.deny文件或使用iptables来限制这个访问。 这种方法的问题是,他们都需要专门定义容器的IP范围,我无法find一个有保证的方式来自动在所有新的主机上指定它。 正如docker文档所描述的,桥接接口的默认networking定义是: $ sudo docker network inspect bridge [ { "name": "bridge", "id": "7fca4eb8c647e57e9d46c32714271e0c3f8bf8d17d346629e2820547b2d90039", "driver": "bridge", "containers": { "bda12f8922785d1f160be70736f26c1e331ab8aaf8ed8d56728508f2e2fd4727": { "endpoint": "e0ac95934f803d7e36384a2029b8d1eeb56cb88727aa2e8b7edfeebaa6dfd758", "mac_address": "02:42:ac:11:00:03", "ipv4_address": "172.17.0.3/16", "ipv6_address": "" }, "f2870c98fd504370fb86e59f32cd0753b1ac9b69b7d80566ffc7192a82b3ed27": { "endpoint": "31de280881d2a774345bbfb1594159ade4ae4024ebfb1320cb74a30225f6a8ae", "mac_address": "02:42:ac:11:00:02", "ipv4_address": "172.17.0.2/16", "ipv6_address": "" } } } ] Docker文档还说,它在docker0接口可用时使用172.17.42.1/16 (也可以使用-b选项进行configuration)。 但是我看到一些容器拥有自己的IP地址,比如10.1.41.2并且使用硬编码的 IP范围来阻塞它们变得困难。 我知道–icc选项会影响守护进程间的容器通信,并且希望find一个像这样干净的方法,并限制从容器到主机的SSH访问。 谢谢。

Docker + SSH + Git克隆问题

我已经阅读了很多关于今晚同样的事情的问题,但是如果有任何解决scheme真正起作用的话,我会被诅咒的。 简而言之,我需要将托pipe在GitHub上的私有Git仓库复制到我的Docker镜像中。 这是我到目前为止在Dockerfile中的: FROM debian:wheezy ENV DEBIAN_FRONTEND noninteractive # Update aptitude with new repo RUN apt-get update # Install software RUN apt-get install -y \ # All of my packages here… # Make ssh dir RUN mkdir /root/.ssh/ # Copy over private key, and set permissions ADD ssh/id_rsa /root/.ssh/id_rsa RUN chmod 700 /root/.ssh/id_rsa RUN touch […]

ssh-copy-id要求密码和sshclosures

我目前正在2个docker集装箱上部署一个Centreon服务器。 (一个用于中央服务器,一个用于轮询)两个容器运行CentOS 6.7 运行时: $ ssh-copy-id -i .ssh/id_rsa.pub centreon@adress 我总是有: The authenticity of host 'address (address)' can't be established. RSA key fingerprint is xx.xx. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'address' (RSA) to the list of known hosts. centreon@address's password: 我也应该有 Now try logging into the machine, with […]

如何从centos 6.4 ssh到没有密码的docker集装箱?

我有一个CentOS 6.4实例。 在这个例子中,我不能用一个RSA密钥ssh到基于CentOS 6.7的Docker容器中。 在Ubuntu(Trusty)和Amazon Linux实例上,我可以SSH入Docker容器。 我需要使用ssh命令(真正可行),而不是docker exec 。 我正在运行的命令是ssh -i id_rsa -p 2200 user@localhost 。 我的Dockerfile看起来如此: From centos:6.7 #update yum repository and install openssh server RUN yum update -y RUN yum install -y openssh-server RUN yum install -y sudo RUN useradd user RUN echo "user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers RUN mkdir -p /home/user/.ssh ADD […]

Rsync(或ssh)到EC2上的远程Docker容器

因为rsync使用ssh来传输文件,所以我认为这可以归结为能够远程ssh到我的docker集装箱。 我目前有一个基地centos:6.6docker集装箱运行从端口转发2222-> 22: IMAGE COMMAND CREATED STATUS PORTS a374fd62f97f "/bin/bash" 2 hours ago Up 2 hours 0.0.0.0:2222->22/tcp 我可以使用ssh进入运行docker服务的服务器 ssh -i key.pem ec2-user@PUBLIC_IP 从我的EC2实例中,在容器中安装openssh-server之后,我可以使用以下方法进入我的容器: ssh root@127.0.0.1 -p 2222 但是,当我尝试ssh: ssh root@PUBLIC_IP -p 2222 它以“拒绝连接”失败。 (EC2中的我的安全组在端口2222上打开了所有IP空间上的入站)

ssh:无法parsing主机名(Docker,gitlab-ce)

我已经build立了docker工具箱并安装了gitlab-ce来testinggitlab持续集成function,我能够连接到gitlab实例并创build一个存储库,创build一个新的ssh密钥并将其粘贴到存储库中。 但问题是,当我试图推送到这个存储库,它给了我这个错误: ssh:无法parsing主机名c52795c5acda:名称或服务未知致命:无法从远程存储库读取。 请确保您拥有正确的访问权限并存在存储库 混帐url如下: git@c52795c5acda:root/my-project.git 我用容器IP地址和端口replacec52795c5acda ,似乎与HTTPS,但与ssh不工作。 我的系统是Windows 8.1,我在虚拟机上运行docker。 任何人都可以指出这个问题?

从Docker容器A(在Docker容器B上)运行Bash脚本

我有两个通过Docker Compose文件configuration的Docker容器。 Docker容器A – (teamcity-agent) Docker容器B – (构build工具) 两者都启动正常。 但作为TeamCity构build过程的一部分,我希望代理(容器A)运行Docker容器B上的bash脚本(只有B可以运行此脚本)。 我尝试使用Team City中的SSH构build步骤进行设置,但是我拒绝了连接。 进一步阅读它显示,SSH没有在容器中启用,我不应该真的试图SSH到一个容器。 那么如何让容器A运行容器B上的脚本并查看脚本的输出? 这个最好的做法是什么?

在Kubernetes荚中克隆一个安全的git回购

我遇到了一个有趣的情况,我需要克隆一个私有的github仓库到我在Kubernetes中运行的Docker容器中。 最初我尝试使用gitRepo挂载,但是,我的部署清单中有一个OAuth密钥是不可接受的,我想使用一个回购部署密钥而不是附加到我的GitHub帐户的OAuth密钥。 理想情况下,我将使用一个使用秘密进行身份validation的gitRepo挂载,但是在撰写本文时,此function不可用。 约束 我需要以下内容: 在我的容器运行时,我可以间歇性地拖拉容器内的回购 回购必须使用GitHub部署密钥进行访问 密钥必须保持安全(在Kubernetes秘密中),而不是存储在泊坞窗图像中 repo必须在同一个pod中的两个容器之间共享,一个写入,一个读取 可能的解决scheme: 挂载SSH密钥作为秘密并克隆: 我试图用一个在单独的pod中运行的bash脚本将repo克隆到emptydir中(这个脚本必须运行,我也用它来做其他的事情),然而,然后我遇到了ssh密钥进入荚。 这个问题是关于这个问题,但似乎没有办法做到这一点。 我能够使用秘密挂载获得密钥,但是然后将权限设置为777.为了解决这个问题,我将密钥安装到/test/目录,然后尝试将它们转换为/root/.ssh/ 。 这给了我这些奇怪的错误: cp: '/test/id_rsa' and '/root/.ssh/id_rsa' are the same file cp: '/test/id_rsa.pub' and '/root/.ssh/id_rsa.pub' are the same file 我也尝试使用cat和pipe道他们的文件,但没有奏效。 起初,当我弄错path时,它给了我这些错误: cat: /keys/id_rsa: input file is output file cat: /keys/id_rsa.pub: input file is output file 一旦我修好了path,它什么都不做,并且失败了。 kubectl exec到包含器中的kubectl exec在/root/.ssh/没有显示任何文件。 我想我已经达到了这条道路的底部,所以我不认为这将是解决scheme。 configurationssh忽略密钥权限 如果SSH有办法忽略密钥上的权限 […]