LXC的Debian用ssh登录缓慢的一些修复方法
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即可。