我对MaxSessions
参数在sshd_config
中有问题。
我想通过一个ssh连接来限制会话的数量。例如,对于TCP转发。
当我将MaxSessions
设置为0时,登录不能工作(这很好,它应该是这样工作的),但是当我设置为1时,我可以通过一个ssh连接拥有多个会话(甚至1次禁用多路复用),然后将它设置为2或更多,也没有任何效果。
也许你能帮我找到正确的解决方案。
我这样测试它:打开从PuTTY (Win)到服务器(BSD)的ssh连接。端口转发正在使用(用于HTTP)。所以我在浏览器里用袜子。
我从两个不同的网站同时下载两个文件,它通过这个隧道对两个网站都有效,但它不应该(MaxSessions
设置为1)。
sshd
- OpenSSH 5.2便携式FreeBSD谢谢你的帮助。
发布于 2011-12-31 18:57:53
来自sshd_config(5)
MaxSessions指定每个网络连接允许的最大打开会话数。缺省值是10。
这个人进入这个特定的限制是有点模糊的。添加此功能的更改日志消息更有帮助:
在MaxSessions (5)中添加了一个sshd_config选项,以允许控制在单个TCP连接上支持的多路复用会话的数量。这允许将允许的会话数增加到先前默认的10次以上,禁用连接复用(MaxSessions=1)或完全禁止登录/shell/子系统会话(MaxSessions=0)。
实际上,MaxSessions参数的目的是限制您可以在单个ssh会话上拥有的复用ssh会话的数量。请参阅ControlMaster部分的ssh_config(5)。
会话多路复用允许您设置一个主连接,到同一主机的所有其他连接都可以重用(但它们不必重用)。这对端口转发或SOCKS代理没有影响。它也不会影响我通过一个新的网络连接再次连接到同一台主机的能力。它确实是专门用于连接多路复用的,而且仅此而已。
发布于 2013-08-20 22:47:21
对于那些访问这个线程的人来说,关于限制并发连接的一般信息,请注意:
如果要限制用户可以通过ssh进行并发登录的数量,可以调整limits.conf
。
/etc/security/limits.conf
:
foo-user - maxlogins 1
可以限制sshd_config
中的会话数,以防止ControlMaster auto
在~/.ssh/config
中的使用。
/etc/ssh/sshd_config
:
MaxSessions 1
然后是sudo service ssh restart
或者sudo reboot
发布于 2015-06-19 00:53:13
对于那些使用厨师的人来说,将MaxSessions 1
添加到/etc/ssh/sshd_config
将打破knife ssh
,因为它似乎依赖于多路复用。如果有人有办法解决这个问题,我很想听听!(添加MaxSessions 1,而不是破坏厨师,即.)。
注意:对于上述^,您将看到以下错误:
ERROR: IOError: closed stream
ERROR: Net::SSH::Disconnect: connection closed by remote host
https://unix.stackexchange.com/questions/26170
复制相似问题