从另一台主机上的另一个容器中将SSH从Docker容器中移入
我有一个在EC2主机上运行的Docker容器,另一个在另一个ec2主机上运行。 我如何从一个到另一个ssh,而不提供任何端口号? 我想要做一些像ssh root @ ip-address-of-container
为了能够在端口22上使用第二个容器,你需要将主机ec2 vm的ssh守护进程阻止。
-
一种方法是通过在/ etc / ssh / sshd_config中添加一个类似于3022的东西来更改主机的ssh端口。现在,您可以在运行docker容器时使用-p 22:22,并且可以在ssh他们。 但是,s2的ec2实例在3022上。
-
如果你想保持host-vms在端口22上同时启用ssh,则需要创build第二个虚拟以太网接口。 如果你能够设置静态IP,这很容易做到。 像
ifconfig eth0:0 192.168.1.11 up
。 但是,在ec2中,这是不可能的,因为你有基于DHCP的IP。 -
第三种方法是设置你的.ssh / config文件映射到非标准端口。 它不允许你ssh通过端口22,但至less你不必知道非标准的端口。 这里是一个教程 ,相关的部分如下。
# contents of $HOME/.ssh/config Host other_docker HostName ec2-host-name-of-other-docker.com Port 22000 User some_user # must be added to authorized keys on other docker host for some_user IdentityFile ~/.ssh/this-docker-private-key
现在你可以做ssh other_docker
打开vswitch是最简单的解决scheme! – https://goldmann.pl/blog/2014/01/21/connecting-docker-containers-on-multiple-hosts/
- 无法将图像推送到ECS Private Registry – 没有基本的身份validation凭据
- 从Mac Docker容器中的botocore.exceptions.EndpointConnectionError
- 使用烤面包机查看yocto版本
- 如何从亚马逊的正在运行的容器中创build一个新的Docker镜像?
- ECS将不会启动实例,“由于无法find资源,无法执行任务”。
- 如何从Docker Conainer内运行的应用程序读取ECS实例标签信息
- AWS云表单任务定义条件命令
- ECS:在任务中设置但在容器中不存在的环境variables
- 使用AWS ECS docker容器,可以将所有三个必需的Zookeeper端口映射到主机? (似乎没有)