我有一个在EC2主机上运行的docker容器,另一个在另一个ec2主机上运行.如何在不提供任何端口号的情况下从一个ssh到另一个?我想做点什么
ssh root @ ip-address-of-container
最佳答案
为了能够在端口22上ssh到第二个容器,你需要让主机ec2 vm的ssh守护程序不受影响.
原文链接:https://www.f2er.com/docker/436873.html>一种方法是通过添加条目来更改主机的ssh端口
在/ etc / ssh / sshd_config中类似于3022.现在你可以使用-p
22:22当你运行你的docker容器并且能够ssh
它们之间.但是,ssh`的ec2实例是在3022年.
>如果你想保持host-vms也在端口22上启用ssh你
然后需要创建第二个虚拟以太网接口.这个
如果您能够设置静态IP,则很容易做到.就像是
ifconfig eth0:0 192.168.1.11 up.但是,在ec2中这不是
因为你有基于DHCP的IP可能.
>第三种方法是将.ssh / config文件设置为映射到非标准端口.它不允许您通过端口22进行ssh,但至少您不必了解非标准端口.这是一个tutorial,相关部分如下.
# 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了