ssh 因 pam_systemd(sshd:session) 失败:无法创建会话:文件存在

ssh 因 pam_systemd(sshd:session) 失败:无法创建会话:文件存在

我遇到过这样的情况:外部ssh反复(在快速循环中)连接到基于 Debian 10.5 的 Docker 容器内的 OpenSSH 守护进程。授权是通过授权密钥来$HOME/.ssh/authorized_keys强制执行容器内的特定脚本命令限制command="..."

我观察到大多数连接成功,但有些(少数)连接失败并出现以下错误/var/log/auth.log

pam_systemd(sshd:会话):无法创建会话:文件存在

这表明什么以及哪个文件意味着什么?我遇到过解决类似问题的方法(也有“无法创建会话”),但还没有(有“文件存在”)。那么我如何进一步诊断并解决手头的问题呢?

答案1

检查 /etc/ssh/sshd_config 中 MaxSessions 和 MaxStartups 的值。

您可能遇到会话限制或连接限制。

如果您可以控制外部脚本,请修复它。不要在紧密循环中建立重复连接,而是在循环中添加延迟,或者更好的是,打开单个连接并通过它发送多个命令。紧密循环整个连接的效率非常低。

答案2

File exists可以来自https://github.com/systemd/systemd/issues/20956

它可能与 /run/systemd/sessions/ 中打开的大量会话有关,也可能无关。

相关内容