Amazon web services 从不同主机上的另一个容器SSH到docker容器
我有一个docker容器运行在EC2主机上,另一个运行在另一个EC2主机上。如何在不提供任何端口号的情况下从一个ssh连接到另一个ssh?我想做一些像Amazon web services 从不同主机上的另一个容器SSH到docker容器,amazon-web-services,ssh,docker,centos6.5,Amazon Web Services,Ssh,Docker,Centos6.5,我有一个docker容器运行在EC2主机上,另一个运行在另一个EC2主机上。如何在不提供任何端口号的情况下从一个ssh连接到另一个ssh?我想做一些像 sshroot@ip-容器的地址要使您能够通过ssh连接到端口22上的第二个容器,您需要将主机ec2 vm的ssh守护进程移开 一种方法是通过添加条目来更改主机的ssh端口 在/etc/ssh/sshd_-config中,类似于3022。现在您可以使用-p 22:22当您运行docker容器并能够ssh时 在他们之间。但是,ssh正在3022上运
sshroot@ip-容器的地址要使您能够通过ssh连接到端口22上的第二个容器,您需要将主机ec2 vm的ssh守护进程移开
ifconfig eth0:0 192.168.1.11以上
。然而,在ec2中,这将不会发生
可能是因为您有基于DHCP的IP# 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\u-docker
打开vswitch是最简单的解决方案 我还没有对此进行测试,但您可能可以执行类似于ssh的操作hostUser@xxx.xxx.xxx.xxx“嘘containerUser@xxx.xxx.xxx.xxx“
使用ssh的命令
参数。为此,您的第二个容器需要一个IP地址,该地址可以从第一个容器路由。由于Docker的开箱即用行为是使用私有IP地址,这一点很重要。这就是为什么人们倾向于将端口映射到外部主机上的不同端口号。另一种方法是使用“覆盖网络”,例如weave。(我为weave工作)此外,还需要在容器内安装并启动ssh服务器。ssh不像在普通发行版中那样在容器中开箱即用。@Bryan-谢谢!我要试试看@Dharmit-是的,我在容器中运行SSH服务器。我可以使用SSH从主机到容器,或者通过提供映射端口从外部计算机到容器。我想要实现的是通过提供docker containerStack Overflow的ip地址来实现ssh,它是一个用于编程和开发问题的站点。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。