如何使用 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