Tag: ssh

在Windows 10上无法通过SSH使用Docker CLI

我在Windows 10 Enterprise 1703上打开SSH并通过PuTTY连接。 当我尝试使用Docker命令时,我收到以下消息: login as: g.koguashvili g.koguashvili@docker's password: Microsoft Windows [Version 10.0.15063] (c) 2017 Microsoft Corporation. All rights reserved. C:\>docker panic: Failed to load shell32.dll: A dynamic link library (DLL) initialization routine failed. goroutine 1 [running]: syscall.(*LazyProc).mustFind(0xc04200acf0) /usr/local/go/src/syscall/dll_windows.go:281 +0x5f syscall.(*LazyProc).Addr(0xc04200acf0, 0x0) /usr/local/go/src/syscall/dll_windows.go:288 +0x32 syscall.CommandLineToArgv(0x1742218, 0xc04202dedc, 0xb, 0xc042004020, 0xc04202df00) /usr/local/go/src/syscall/zsyscall_windows.go:910 +0x38 os.init.1() /usr/local/go/src/os/exec_windows.go:102 +0x4c […]

ssh使用golang中的交互式shell执行nsenter作为远程命令来debuggingdocker容器

我正在尝试在coreos上自动debuggingDocker容器。 我想要一个通过ssh连接到主机的脚本并执行nsenter 。 这将是非常方便的直接从我的OSX框跳转到一个容器,而不需要手动做很多事情。 我知道以这种方式进入集装箱可能会很糟糕,但是如果事情变得艰难,我想使用这样的工具。 所以这里是我在golang迄今为止。 我能够创build一个交互式shell。 在这里,我有问题,像使用ctrl+R反向searchbash历史logging会中断会话。 该代码在下面评论,因此不执行。 但是,我也能够执行一个命令,在这里nsenter ,但我收到错误stdin: is not a tty ,没有更多的事情发生。 我有兴趣知道为什么stdin在我的程序中不是一个tty ,我怎么能实现这一点。 谢谢 package main import ( "code.google.com/p/go.crypto/ssh" "io/ioutil" "log" "os" ) func privateKey() ssh.Signer { buf, err := ioutil.ReadFile("./id_rsa") if err != nil { panic(err) } key, err := ssh.ParsePrivateKey(buf) if err != nil { panic(err) } return […]

docker在redhat 6.5中的ssh问题

我按照centos6的指导启用redhat 6.5中的docker,并创build一个redhat 6.5基本映像。 6.5 imange可以在容器中运行,但是当我在图像中启用sshd时,一旦login成功,sshd总是立即终止我的ssh客户端。 我保存图像并加载到我的Ubuntu 14.04.1 docker,然后redhat6.5 sshd运行良好。 所以我认为redhat 6.5的sshd镜像应该没问题。 然后,我保存我的Ubuntu的ssh映像并加载到redhat 6.5主机,ubuntu的sshd在redhat 6.5的容器中也能正常运行。 所以我真的不明白为什么我的redhat 6.5 sshd映像在redhat 6.5的容器中不能正常工作。 我的Docker信息: [root@c111bc2n10e1 ~]# docker info Containers: 4 Images: 32 Storage Driver: devicemapper Pool Name: docker-8:3-1572873-pool Data file: /var/lib/docker/devicemapper/devicemapper/data Metadata file: /var/lib/docker/devicemapper/devicemapper/metadata Data Space Used: 2501.9 Mb Data Space Total: 102400.0 Mb Metadata Space Used: 3.1 Mb Metadata […]

Git克隆不能与npm一起工作

我试图从一个Docker容器中的npm克隆一个私人的Git仓库,但得到一个错误的Permission denied (publickey) 。 我在主机上用这个命令生成了一个SSH密钥: ssh-keygen -t rsa -b 4096 -C "myname@mydomain.com" 然后我把它添加到Bitbucket中, ssh-add -ed它,并用git clone进行testing,一切正常(在主机上)。 我也尝试npm install在我的项目文件夹和所有git克隆是好的。 我将id_rsa和id_rsa.pub文件复制到另一个文件夹,并在执行docker run时将此文件夹挂载到/root/.ssh 。 现在的问题是,当试图从该私人Git仓库克隆时, npm install会给出拒绝权限的错误。 我用bash进入容器,手动尝试npm install ,但得到了同样的错误。 我通过运行eval "$(ssh-agent -s)"确保ssh-agent已启动,然后通过运行ssh-add ~/.ssh/id_rsa确保已添encryption钥。 然后我再次尝试,但同样的问题。 但是,如果在同一个容器中,我只是尝试一个常规的git clone …那么它克隆就好了! 没有问题或任何事情。 我知道这是使用SSH密钥,因为如果我从Bitbucket中删除它,我得到一个权限被拒绝的错误。 然后,如果我重新添加到Bitbucket,它克隆罚款。 如何获得npm克隆正确? 在我使用的工作(在容器内)git clone命令是: git clone git@bitbucket.org:org/repo.git 和npm回购依赖线是: "repo": "git+ssh://bitbucket.org/org/repo.git" 完整的npm错误是: npm ERR! git clone ssh://bitbucket.org/org/repo.git Cloning into […]

Docker – OS X将localhost 22端口转发到容器2022端口

我在我的Mac OSX上使用Docker。 我有一个开放的ssh守护进程的容器,听22端口。 虚拟机被设置为将机器的2022端口的所有stream量转发到该容器22端口。 我想设置我的本地主机转发所有2022stream量到机器2022端口。 我的机器运行在192.168.99.100 我已经使用Apache虚拟主机configuration和代理将本地端口8080上的所有HTTP通信转发到本机。 什么是正确的方式来做同样的SSH? 我认为这涉及SSH隧道,如上所述,但我不明白如何设置我的本地主机将始终从localhost:2022转发ssh连接localhost:2022到192.168.99.100:2022 PS我知道docker集装箱不应该安装SSH,但我需要它进行testingbuild议。

docker集装箱不能使用“服务sshd重启”

我正在尝试构build一个hadoop Dockerfile 。 在构build过程中,我补充道: && apt install -y openssh-client \ && apt install -y openssh-server \ && ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa \ && cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys \ && chmod 0600 ~/.ssh/authorized_keys && sed -i '/\#AuthorizedKeysFile/ d' /etc/ssh/sshd_config \ && echo "AuthorizedKeysFile ~/.ssh/authorized_keys" >> /etc/ssh/sshd_config \ && /etc/init.d/ssh restart 我假设当我运行这个容器时: docker run […]

configurationdocker以通过networking进行通信

我有远程机器。 我分两步进入: 1) ssh -A login@server.com 然后在这台机器里面进入我的远程机器: 2)ssh -A mymachine 这个远程机器没有公开的IP ,我可以在DOCKER_HOST=xx.xx.xx.xx指定。 我怎样才能configuration我的docker,这样我的笔记本电脑将有一个docker client ,该远程机器将有docker server守护进程?

git ssh无法访问docker容器中的gitlab

我在一个容器中安装了gitlab,它已经是EXPOSE 22 。 当我ssh -vv git@host.com我不能访问SSH公钥,只有密码方法的作品。 我怎样才能获得ssh访问docker集装箱? 谢谢。

将networking存储附加到Gitlab的Docker容器(ssh问题)

我正在使用Docker在我的Web服务器上安装Gitlab 。 一切工作都像一个冠军,直到我尝试使用我的NAS作为存储文件夹。 我希望这是行得通的: 使用/ etc / fstab将NFS共享挂载到本地文件夹: 192.168.1.103:/gitlab /home/user/gitlab_data nfs rsize=8192,wsize=8192,timeo=14,intr 使用以下卷连接运行Docker: sudo docker run -v /home/user/gitlab_data:/home/git/data ….. 和应用程序的工作,直到我试图用ssh推入回购。 我得到:连接拒绝,确保你有适当的权限…. 要清楚,我不会遇到这个错误,如果我挂载本地文件夹,所以我相对有信心,这不是一个SSHconfiguration问题。 我的印象是,这个卷的方法是创build什么是function上的一个符号链接,在整个安装文件明确禁止链。 我的问题是: 如何将我的NAS上的文件夹连接到我的Gitlab Docker容器,使其不会触发此ssh / symlink失败? 我已经search了如何直接连接驱动器的文档,但没有任何事情已经完成了。 我没有办法将它绑定到NFS上,因为我读了Docker支持它们的地方。 欢呼声,贝尔

Docker只在虚拟机上,而不是在物理机上?

我在一个合作位置数据中心有两台物理机器,并且想要最好的使用它。 我正在考虑使用Docker,Weave来运行高安全的Web应用程序(Tomcat,Mysql,Mongodb),并希望得到额外的安全。 以下是我的架构。 有Docker部署经验的人可以提供反馈吗? a)使用SSH在两台物理机上创build一个centos 6操作系统并安装Shorewall。 Shorewall FW将仅限制ssh和端口80,443,80,443将转发到运行tomcat容器的虚拟机。 这个物理机器上没有安装docker。 b)在两台物理机上安装Virtualbox并启动多个虚拟机,每台虚拟机都可以通过物理机上的SSH隧道访问,从而提供额外的安全层 c)在每个虚拟机上build立docker和weavenetworking,从而在虚拟机上以主机的方式构buildnetworking d)所有tomcat,mysql,mongodb容器只在虚拟机上启动。 这个configuration的优点是我的物理机器和Docker是分开的,并增加了一个额外的安全层。 我正在计划build立这个。 我想知道是否有人预计任何问题或挑战或build议,以更安全/可靠的方式使用2台服务器。 任何指导,或进一步阅读链接高度赞赏。 感谢英国。