从另一台主机上的另一个容器SSH到docker容器

use*_*313 9 ssh amazon-web-services docker centos6.5

我有一个在EC2主机上运行的docker容器,另一个在另一个ec2主机上运行.如何在不提供任何端口号的情况下从一个ssh到另一个?我想做一些像ssh root @ ip-address-of-container的东西

Usm*_*ail 6

为了能够在端口22上ssh到第二个容器,你需要让主机ec2 vm的ssh守护进程不受影响.

  1. 一种方式是通过添加在/ etc/SSH/sshd_config中,以类似3022的条目,从而改变你的主机的SSH端口现在,当你运行你的泊坞窗容器(S),你可以使用-p 22:22,并能够之间使用SSH他们.但是,ssh`的ec2实例是在3022年.

  2. 如果您希望在端口22上保持host-vms ssh,则需要创建第二个虚拟以太网接口.如果您能够设置静态IP,这很容易做到.类似的东西 ifconfig eth0:0 192.168.1.11 up.但是,在ec2中,这是不可能的,因为您有基于DHCP的IP.

  3. 第三种方法是将.ssh/config文件设置为映射到非标准端口.它不允许您通过端口22进行ssh,但至少您不必了解非标准端口.这是一个教程,相关部分如下.

    # 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
    
    Run Code Online (Sandbox Code Playgroud)

现在你可以做到 ssh other_docker