por que não consigo iniciar novas conexões ssh com o servidor remoto?

1

esta pergunta não é a mesma que outras pessoas, que pediram que não pudessem se conectar ao servidor, o problema que tenho é que não consigo iniciar mais novas conexões ssh ...

agora estou conectado ao servidor remoto usando ssh, mas quando tento iniciar uma nova conexão ssh, o servidor se recusou a alocar pty, por que isso acontece? existe alguma limitação que limita o número de conexão ssh com o servidor?

você pode ver o que aconteceu quando tento abrir novas conexões ssh com o seguinte link: http://i1271.photobucket.com/albums/jj624/bigmeowOoO/refuse_to_connect_allocate_pty.jpg

a propósito, eu não acho que haja algo errado com os arquivos pty, pois eu posso conectar ao servidor :)

Além disso, quero saber o que esses arquivos representam.

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

arquivo / dev / pts / 0 / dev / pts / 0: caractere especial (136/0)

caractere especial, qual é a sua função?

floresta gigante
fonte

Respostas:

4

Primeiro, como você pode se conectar via ssh, você pode optar por não criar um novo PTY com ssh usando o parâmetro -T (esse parâmetro desabilita a criação de um PseudoTerminal). Se você usa o PuTTY, na árvore SSH, marque a opção "Não aloque pseudo terminal".

Existe possivelmente um limite de PTYs definidos pelo host.

Se você estiver em um servidor OpenVZ, poderá verificar se o administrador configurou restrições de PTY acessando o arquivo do contador de feijão.

cat /proc/user_beancounters

Procure uma linha entorpecida . Haverá colunas para # hold, limit (que é o que você pode estar procurando). Se seu limite é inferior a 5, não é razoável, porque você não poderá executar muitos scripts, especialmente se usar a tela. Você pode solicitar um aumento.

cada um dos arquivos listados em / dev / pts são pseudo terminais. São sessões terminais "falsas".

Leia aqui para uma breve visão geral: http://en.wikipedia.org/wiki/Pseudo_terminal e http://www.gnu.org/software/libc/manual/html_node/Pseudo_002dTerminals.html

Jay
fonte
se alocar pseudo terminal está definido, parece que eu não posso fazer nada com essa conexão ssh :(
giantforest
o limite de numpty é de 32 :( por que o serviço openvz fornecem definir tal limite no número de ptys?
giantforest
como contornar esse tipo de limite? i apenas para abrir sessões mais festança :)
giantforest
Porque eles querem limitar o número de coisas em execução no servidor. Se você precisar de mais de 32 sessões em execução, isso pode indicar abuso do ponto de vista de um administrador. Eu acho que 32 é um número muito justo. E se forem as únicas sessões ssh, eu já lhe disse como abrir quantas você quiser no Putty.
21412 Jay
sim, se eu definir Não alocar pseudo terminal na massa, a conexão não ocupará o recurso pts, mas o que uma conexão ssh com pts pode fazer?
Giganteforest
2

Um pseudo-terminal é um par de dispositivos de caracteres virtuais que fornecem um canal de comunicação bidirecional. Uma extremidade do canal é chamada de mestre; o outro extremo é chamado de escravo. A extremidade escrava do pseudo-terminal fornece uma interface que se comporta exatamente como um terminal clássico. Um processo que espera estar conectado a um terminal, pode abrir a extremidade escrava de um pseudo-terminal e depois ser conduzido por um programa que abriu a extremidade principal. Tudo o que está escrito no final mestre é fornecido ao processo no lado escravo, como se tivesse sido digitado em um terminal.

serviços como ssh, screen, expect, telnet etc usam pty (pseudo-terminais)

Basta executar o seguinte comando para listar / exibir o número máximo de pseudo-terminais no Linux

cat / proc / sys / kernel / pty / max

4096

ZVIK
fonte
sim, o conteúdo em / proc / sys / kernel / pty / max é 4096, o que significa, parece que eu não posso modificar este ficheiro :(
giantforest
Sim, podemos modificar o número pelo arquivo de configuração do kernel aberto - /etc/sysctl.conf Adicione a seguinte linha. kernel.pty.max = 5120 e salve o arquivo recarregue as alterações usando sysctl -p verifique as alterações cat / proc / sys / kernel / pty / max, o valor máximo que pode ser definido é 5120
ZVIK
ibm.com/developerworks/linux/library/l-proc/index.html ler este vai dar algumas informações relacionadas com sistema de arquivos proc
ZVIK
só não conseguiu modificar esse valor :( [root @ home ~] # sysctl kernel.pty.max = 8192 erro: "Operação não permitida" configuração tecla "kernel.pty.max"
giantforest
Se você estiver em um VPS, não podemos alterar os parâmetros do kernel, pois os provedores de hospedagem impedem que ele seja modificado. Para fazer isso, você precisa ter um servidor dedicado. mas eu não estou certo de fazer a correção acima pode resolver o seu problema
ZVIK