ssh root@“lxc 容器的 ip”不起作用

ssh root@“lxc 容器的 ip”不起作用

如何使用 ssh 进入 lxc 容器?因为我遵循了有关该参数的许多指南,但我仍然无法进入容器。

[root@T410 andrea]# ssh [email protected] -vvvv
OpenSSH_7.1p1, OpenSSL 1.0.2d-fips 9 Jul 2015
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 56: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.122.215 [192.168.122.215] port 22.
debug1: connect to address 192.168.122.215 port 22: Connection refused
ssh: connect to host 192.168.122.215 port 22: Connection refused

我不明白为什么我不能进入集装箱。

提前致谢

答案1

如果您使用带有默认桥接网络的 LXC,则必须定义一个 iptables NAT 规则,将来自主机的流量重定向到容器。

您可以使用以下命令获取主机上特定容器的 IP 地址:

lxc-info -n [containername] -i

现在在主机上使用 root 权限执行此操作:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2222 -j DNAT --to [container ip address]:22

现在你可以使用以下命令访问容器内的 SSH 服务器:

ssh root@[host ip address] -p 2222

小心!如果容器内的 SSH 服务器不允许通过 SSH 进行 root 登录,则此方法无效!

玩得开心!

答案2

/root/.ssh/对于密钥认证,容器内部的所有者必须是 root。

如果没有则执行:

lxc exec mail01 -- chown -R root:root /root/.ssh

相关内容