为什么我无法启动与远程服务器的新 ssh 连接?

为什么我无法启动与远程服务器的新 ssh 连接?

这个问题与其他人的问题不一样,他们问的是他们无法连接到服务器,我遇到的问题是我无法启动更多新的 ssh 连接...

现在我使用 ssh 连接到远程服务器,但是当我尝试启动新的 ssh 连接时,服务器拒绝分配 pty,为什么会发生这种情况?是否有任何限制来限制连接到服务器的 ssh 数量?

您可以看到当我尝试使用以下链接打开新的 ssh 连接时发生的情况: http://i1271.photobucket.com/albums/jj624/bigmeowOoO/refuse_to_connect_allocate_pty.jpg

顺便说一句,我不认为 pty 文件有什么问题,因为我可以连接到服务器:)

另外,我想知道这些文件代表什么?

ls /dev/pts
0  11  13  15  17  19  20  22  24  26  28  3   31  4  6  8
1  12  14  16  18  2   21  23  25  27  29  30  32  5  7  9

文件 /dev/pts/0 /dev/pts/0:字符特殊(136/0)

字符特殊,它的作用是什么?

答案1

首先,由于您可以通过 ssh 连接,因此您可以选择不使用 -T 参数通过 ssh 创建新的 PTY(此参数禁用创建伪终端)。如果您使用 PuTTY,请在 SSH 树下选中“不分配伪终端”。

主机可能设置了 PTY 的限制。

如果您在 OpenVZ 服务器上,您可以通过访问 beancounter 文件来检查管理员是否设置了 PTY 限制。

cat /proc/user_beancounters

寻找numpty 的行。将有 # held、limit(您可能正在寻找)的列。如果您的限制低于 5,则不合理,因为您将无法运行许多脚本,尤其是在使用屏幕时。您可以请求增加。

/dev/pts 下列出的每个文件都是伪终端。它们是“假”终端会话。

请阅读此处了解简要概述:http://en.wikipedia.org/wiki/Pseudo_terminalhttp://www.gnu.org/software/libc/manual/html_node/Pseudo_002dTerminals.html

答案2

伪终端是一对提供双向通信通道的虚拟字符设备。通道的一端称为主端,另一端称为从端。伪终端的从端提供的接口与传统终端的行为完全一样。需要连接到终端的进程可以打开伪终端的从端,然后由打开主端的程序驱动。主端上写入的任何内容都会提供给从端上的进程,就像在终端上键入的输入一样。

ssh、screen、expect、telnet 等服务使用 pty(伪终端)

只需运行以下命令即可列出/显示 Linux 下的最大伪终端数量

猫/ proc / sys /内核/ pty / max

4096

相关内容