背景:
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
脚本来为您处理它。