sshd_config 限制/禁用多路复用

sshd_config 限制/禁用多路复用

背景:

ssh(客户端)允许通过多路复用 ControlPaths 重新使用活动连接...

Host *
ControlMaster auto
ControlPath /home/username/.ssh/%r@%h:%p

TL;DR 是第一个连接将像任何其他连接一样进行身份验证,后续连接将使用控制路径并且不执行任何额外的身份验证。

现在我的问题是;是否可以在 sshd_config 中限制服务器端此类连接的使用?

尽管将 MaxSessions 设置为 1,但它不起作用,我可以通过相同的原始连接根据需要多次连接到主机。

当然,设置为 0 只是完全禁用远程登录。

答案1

现在我的问题是;是否可以在 sshd_config 中限制服务器端此类连接的使用?

MaxSessions是的,确切地如果您没有使用有缺陷的服务器,则描述的内容。禁用多路复用会话。

尽管 MaxSessions 设置为 1,但它不起作用,我可以通过相同的原始连接随意多次连接到主机

如果要打开更多会话,则需要打开更多连接。但这不是您在问题标题中要问的。但无论如何,如所述Unix, 您可以使用/etc/security/limits.conf

 foo-user           -       maxlogins       1

随着我花更多时间研究您的问题,我认为您又想到了选项ControlPersist,它允许在一次连接期间打开和关闭一个会话(但您可能忘记提到它)。如果您担心这一点,则无法使用纯 ssh 来禁止它。您可能需要一些ForceCommand脚本来为您处理它。

相关内容