使用 lxc 用户通过 SSH 连接到 lxc 容器

Connecting to lxc container via SSH using lxc user

我注意到我用来通过 lxc-console 连接到新创建的 LXC 容器的 username/password 不适用于 ssh(容器中有 sshd 运行)。当我尝试时,我得到 Permission denied 为什么会这样,我怎样才能让它发挥作用?

你们允许 SSH 密码吗?您是否有从主机到 LXC 容器 IP 地址的端口转发的 iptables 规则?您可以使用以下行添加一个(将端口更改为容器的 ssh 端口):

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1234 -j DNAT --to 10.x.x.x:1234

使用 ubuntu-cloud 模板新创建的 LXC 容器附带配置为不允许密码的 SSH 守护程序:

要解决此问题,请附加到您的容器并编辑 /etc/ssh/sshd_config 文件。查找以下内容:

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

并将 PasswordAuthentication 更改为 "yes" 并重新启动 SSH:

service ssh restart

那么您应该可以使用密码登录您的容器了。

在容器内,打开 /etc/ssh/sshd_config 并将 PermitRootLogin 更改为 yes。

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes