我想限制 ssh 隧道,但不适用于我系统中的所有用户,仅适用于特定用户,
ssh maxSession
适用于整个系统,但我需要一种方法来为特定用户执行此操作。 (不建议这样做,因为/security/limits.conf
它不适用于 ssh 会话,仅适用于 ssh 登录)
答案1
你会使用匹配内的块功能/etc/ssh/sshd_config
。
Match 块的内容将具有您想要的MaxSessions
值。您可以将MaxSessions
上面定义的原始内容保留在sshd_config
文件中,该文件将适用于未为 Match 块定义的每个人。
匹配文本块位于文件底部shd_config
。
看https://man.freebsd.org/cgi/man.cgi?sshd_config(5)
在匹配关键字后面的行中只能使用关键字的子集。可用的关键字有
AcceptEnv、AllowAgentForwarding、AllowGroups、AllowStreamLocalForwarding、AllowTcpForwarding、AllowUsers、AuthenticationMethods、AuthorizedKeysCommand、AuthorizedKeysCommandUser、AuthorizedKeysFile、AuthorizedPrincipalsCommand、AuthorizedPrincipalsCommandUser、AuthorizedPrincipalsFile、横幅、ChrootDirectory、ClientAliveCountMax、ClientAliveInterval、DenyGroups、DenyUsers、DisableForwarding、ForceCommand、 、GSSAPIAuthentication、HostbasedAcceptedAlgorithms、HostbasedAuthentication、 HostbasedUsesNameFromPacketOnly、IgnoreRhosts、包括、IPQoS、KbdInteractiveAuthentication、KerberosAuthentication、LogLevel、MaxAuthTries、MaxSessions、PasswordAuthentication、PermitEmptyPasswords、PermitListen、PermitOpen、PermitRootLogin、PermitTTY、PermitTunnel、PermitUserRC、PubkeyAcceptedAlgorithms、PubkeyAuthentication、RekeyLimit、RevokedKeys、RDomain、环境、StreamLocalBindMask、StreamLocalBindUnlink、 TrustedUserCAKeys、X11DisplayOffset、X11Forwarding 和 X11UseLocalhost。
# Example of overriding settings on a per-user basis
Match User anoncvs
X11Forwarding no
AllowTcpForwarding no
PermitTTY no
ForceCommand cvs server
MaxSessions 1
Match User ron
MaxSessions 1
Match User bob
MaxSessions 1
来自上面的 freebsd 链接