LXC容器安装Debian后可能存在ssh登录缓慢的问题,这里总结了几个可能可用的修复方法。

安装haveged软件包

对于Debian 10,可能出现容器启动后ssh服务需要等待很长时间才能启动完成。按照https://linux-sunxi.org/Debootstrap中提到的说法,可以通过apt安装haveged来缓解问题:

apt-get install haveged

启用容器嵌套

对于Debian 11,如果主机系统是ProxmoxVE,在创建容器的时候勾选"嵌套"选项("Nesting"),可以避免ssh登录卡顿。
如果主机系统是直接使用lxc命令手动管理容器,可以在容器关闭状态下,在其对应的config文件中添加以下内容启用容器嵌套功能:

lxc.apparmor.allow_nesting = 1

该方法可能会降低容器的安全性。

调整登录服务

参考https://gist.github.com/charlyie/76ff7d288165c7d42e5ef7d304245916
对于Debian 11,如果无法开启嵌套功能(如没有主机管理权限的情况),也可以通过调整登录服务修复问题。
首先检查/var/log/auth.log日志中是否有出现以下类似内容:

# cat /var/log/auth.log
Failed to activate service 'org.freedesktop.login1': timed out

如果存在的话,可以运行以下命令:

systemctl mask systemd-logind
pam-auth-update

运行pam-auth-update后,反选"Register user sessions in the systemd control group hierarchy",之后OK即可。

标签: Linux, Debian, LXC

添加新评论