Tag: ssh

从Docker容器中以不同的用户身份运行命令/脚本

首先,我知道这可能不是最“容器化”的解决scheme。 在这一点上,我想知道如果我将不得不放弃我到目前为止,或者如果我能做这个工作。 我需要在服务器之间移动文件并将其备份。 我目前有一个脚本,这样做。 我运行这个脚本的用户具有所有服务器的密钥,因此,从服务器到服务器的rsync是这个脚本没有问题。 我现在正在创build一个web服务,用户可以通过ping来安全地移动文件并进行备份。 这可以防止他们不得不联系我来运行脚本,并且稍后将允许与某些工作stream程软件集成。 但是,我的docker容器捕获的HTTP请求到Web服务将不会有密钥到处,因此不能成功地运行脚本。 我正在寻找一个解决scheme,将允许我运行这个脚本,同时也有一个Web服务,用户可以请求。 我最初的希望是为了基本上传递参数和运行脚本。 我不知道下面这些想法的可行性,但是这是我迄今为止的两个想法。 运行泊坞窗容器作为我的用户,到处都有钥匙 在启动时将docker钥匙交给任何地方 有没有人有任何build议,如何做到上述问题或可能的解决办法? 随意问更多的问题,因为我知道这是一个奇怪的问题。 提前感谢任何帮助!

Docker机密和RSA密钥

我有一个Docker群,我想在服务中使用一个秘密的RSA密钥,通过SSH连接到另一个容器。 我的安全策略是所有的秘密(密码,密钥等)都存储在与目标服务器(Swarm)不同的机器上。 其实(我不喜欢它),在我的Dockerfile中创build一个临时目录/run/secrets : mkdir -p /run/secrets 然后我创build伪造的id_rsa和id_rsa.pub文件: touch /run/secrets/id_rsa touch /run/secrets/id_rsa.pub 现在我创build一个符号链接: ln -s /run/secrets/id_rsa /root/.ssh/id_rsa ln -s /run/secrets/id_rsa.pub /root/.ssh/id_rsa.pub 我这样做,因为我没有find一种方法来复制我的docker-entrypoint.sh的秘密:在入口点我不是根,所以我不能复制在/root目录。 所以,我已经在使用Docker的秘密了,但是这里的问题是容器中的秘密是只读的。 这会影响SSH的使用: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0444 for '/root/.ssh/id_rsa' are too open. It is recommended that your private key files are NOT accessible by others. This private […]

如何从外部服务器访问/提取数据到Docker容器?

我遇到了越来越多的使用Docker容器的数据科学家,以便进行可重复的分析。 问题:如何将数据下载/拖放到Docker容器中? 如果数据可以通过URL下载,自然可以在Dockerfile中添加这样的一行 wget www.server_to_data.org/path/path/myfile.gz 但是我有坐在服务器上的数据,用户用~/.ssh/id_rsa.pub的密钥对ssh进入服务器。 我不确定这是如何安全地工作。 在这种情况下,如何正常下载或访问您的数据? 可以挂载服务器,但我不确定在Container / VM中如何访问这些服务器。

如何禁止通过SSHlogin密码login,同时允许基于证书的login

我正在build立一个docker集装箱,我将通过它进行远程SSH连接。 我想禁用根用户的密码login,只允许基于证书的authentication。 在/ etc / ssh / ssh_config中设置PermitRootLogin without-password似乎不起作用。 有什么想法吗?

在Docker容器上的SSH安装

我已经使用sudo apt-get install openssh-server在我的ubuntu上安装了ssh-server:在Mac OSX Yosemite上运行的最新的Docker容器。 我得到了使用boot2docker ip的容器的IP地址。 使用networking实用程序我可以validation端口22是否在该IP上打开。 但是,我不能ssh进入该容器的文件系统。 我没有明确指定在启动docker start -i CONTAINER_NAME的容器时应该导出端口22。 命令ssh -v localhost在容器的terminal上成功,但是当我尝试从我的Macterminal上执行时,它说: 连接由xxxxclosures 我在这里复制sshd_config的内容: http : //collabedit.com/a76d6

通过远程主机closures我的容器的SSH连接

我尝试连接到我的bluemix正在运行的容器,但我得到这个错误: ssh -p 22 login@134.*.*.* Connection to 134.*.*.* closed by remote host. Connection to 134.*.*.* closed. 我隐藏的IP安全。 在docker集装箱build设期间,我将我的ssh公钥添加到/home/login/.ssh/authorized_keys。 然后我启动我的容器(运行sshd)并打开22端口。 在本地(与我的服务器上的docker),我可以连接到ssh与我的私钥到容器。 但是,当我在Bluemix上启动容器时,即使在属性公共IP地址之后,我也无法连接到ssh,当然,也发布了22个tcp端口。 为了运行我推送到ibm repo的容器,我使用ICE cli来运行带有启动所有服务(在sshd中)的入口脚本的容器。 ice run –publish 8572 –publish 8787 –publish 22 –memory 2048 –name boardvisor registry.ng.bluemix.net/org/test:latest /run.sh 然后,我去bluexmix web仪表板属性公共IP地址 当我收到一个响应sshd服务器,容器似乎工作和可达,但我不明白为什么我可以连接在我的docker服务器,但不是在bluemix服务器上。 我为您提供ssh详细连接: OpenSSH_6.6.1, OpenSSL 1.0.1e-fips 11 Feb 2013 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config […]

Docker node.js在Node.Js中的Ctrl + C ssh deploy

我有一个shell脚本来部署docker应用程序,当我运行它时,ssh连接没有终止,所以我需要强制退出terminal。 该应用程序保持运行之后。 我已经尝试了nohup,屏幕和&没有成功。 有没有一种方法来优雅地释放连接? ssh -tt $host "cd $appname && docker run -p 13370:13370 -ti $appname"

Vagrant SSH到Docker容器

我在Vagrant box boot2docker(在Windows 8.1)上运行Drupal作为Docker容器: Vagrantfile (我的Docker容器) # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure(2) do |config| config.vm.provider "docker" do |docker| docker.vagrant_vagrantfile = "host/Vagrantfile" docker.image = "drupal" docker.ports = ['80:80'] docker.name = 'drupal-container' end config.vm.synced_folder ".", "/vagrant", type: "smb", disabled: true end 主机/ Vagrantfile (主机) # -*- mode: ruby -*- # vi: set […]

在Dockerfile中公开和发布具有指定主机端口号的端口

假设我想在Docker中创build一个SSH主机。 我明白,我可以在EXPOSE 22内Dockerfile EXPOSE 22 。 我也明白,我可以使用-p 22222:22所以我可以通过端口22222从我的局域网上的另一台物理机器SSH进入该Docker容器,如ssh my_username@docker_host_ip -p 22222:22 。 但是,假设我很懒,我不能为docker run每次docker run带有选项-p 22222:22的容器而烦恼。 有没有办法使选项-p 22222:22 can be automated in a config file somewhere? In -p 22222:22 can be automated in a config file somewhere? In Dockerfile`也许?

运行docker容器时出错

我使用以下命令运行docker图像。 docker run -it -p 8080:8080 -p 29418:29418 –rm \ -e AUTH_TYPE='DEVELOPMENT_BECOME_ANY_ACCOUNT' \ -v /home/gerrit-site:/home/gerrit/site \ -v /home/nidhi/.ssh/id_rsa.pub:/root/.ssh/id_admin_rsa.pub \ -v /home/nidhi/.ssh/id_rsa:/root/.ssh/id_admin_rsa \ -e GERRIT_ADMIN_USER='admin' \ -e GERRIT_ADMIN_EMAIL='admin@fabric8.io' \ -e GERRIT_ADMIN_FULLNAME='Administrator' \ -e GERRIT_ADMIN_PWD='mysecret' \ -e GERRIT_ADMIN_PRIVATE_KEY='/home/gerrit/ssh-keys/id_admin_rsa' \ -e GERRIT_PUBLIC_KEYS_PATH='/home/gerrit/ssh-keys' \ -v /home/nidhi/.ssh:/home/gerrit/ssh-keys \ –name gerrit admin_gerrit 我知道命令是正确的,因为我曾经使用过这个命令,它工作得很好。 但现在,当我运行这个命令,我得到以下错误, Error response from daemon: Cannot start container […]