我正在使用Ubuntu14.04LTS。我想要创建一个openssh服务器,它监听许多端口(至少100个不同端口)。多个客户端将连接到此服务器,但每个客户端都需要有自己的专用端口。客户端将创建指向这个按需主机的反向ssh隧道,并发客户端的最大数量将是最大。一次10个。
配置16个或更多端口时,Openssh服务器启动失败,出现错误:
fatal: Too many listen sockets. Enlarge MAX_LISTEN_SOCKSMAX_LISTEN_SOCKS在sshd.c文件中定义。是否有一种方法可以扩大MAX_LISTEN_SOCKS,而不必从源重新编译和重新安装openssh服务器?
另一种选择:是否有不同的/更好的方法来解决这个问题?
发布于 2015-09-10 11:51:32
您可以使用以下sshd在任意多个端口上使用inetd (和可选的tcpd)运行inetd.conf:
10000 stream tcp nowait root /usr/sbin/tcpd sshd -i
10001 stream tcp nowait root /usr/sbin/tcpd sshd -i
10002 stream tcp nowait root /usr/sbin/tcpd sshd -i
...您还应该阅读sshd -i在sshd手册中的注意事项。
发布于 2015-09-10 13:26:34
感谢你的帮助和回应,事实证明,这个问题基本上是毫无意义的。我的眼睛被一个有用的编辑者克兹勒:https://www.reddit.com/r/linuxadmin/comments/3kdn1r/openssh_服务器_致命_也是_许多_听_套接字/cuwoo02 02打开了
但他们仍将连接到您的端口22,反向SSH隧道是一个端口打开他们,您连接到。服务器端守护进程(OpenSSH)不需要多个侦听端口来接受多个客户端。这就是多线程套接字服务器的优点。
基本上我不需要这个功能,这是我在最初的问题中所要求的。
https://unix.stackexchange.com/questions/228773
复制相似问题