SSH Multiple Session - “stdin: não é um tty”

1

Eu tenho um Linux-VPS, usando-o como servidor GIT e HTTP.

HTTP: Apache

Git-server: git-http-backend via vhost

Quando eu me logar via SSH, está tudo bem. Mas se eu abrir uma segunda conexão SSH, eu recebo este erro:

stdin: não é um tty

Eu uso o ssh por anos e nunca vi um erro assim. Eu procurei por mais de uma hora e meia.

** Enquanto eu escrevi isso, o erro ficou ainda mais estranho - agora o erro vem em todas as conexões !

Eu ainda não encontrei nenhuma solução que me ajudasse ..

Estou usando ..

  • Windows
  • Secure Shell Client (bastante outdatet, mas muito melhor do que putty)
por Mijago 11.11.2014 / 16:43

2 respostas

0

Você está "encadeando" conexões ssh? Essa pode ser a causa. Acho que o link é relevante.

    
por 11.11.2014 / 16:51
0

Por razões que eu não entendo (mas veja depois), seu shell não está configurado para interativo; apenas emitir, no servidor remoto,

  bash -i 

isso tornará o shell interativo e você estará pronto. Neste ponto, você pode ter que criar o seu arquivo .bashrc, porque os padrões normalmente são fornecidos com as seguintes linhas, localizadas bem no topo do arquivo:

 case $- in
          *i*) ;;
           *) return;;
 esac

Isto verifica se entre os flags do shell ($ -) existe um i , para interativo ; se não estiver presente, ele ignora o fornecimento do arquivo. daí a necessidade de agora correr

 source ~/.bashrc

que lhe dará o seu ambiente padrão. Eu desencorajo strongmente você de executar bash -i automaticamente, por exemplo dentro do seu arquivo .bashrc: executar um script automático que define o shell como interativo é um oxímoro e é equivalente para apontar uma arma carregada para o seu templo.

Por que essa mensagem de erro surge, só posso especular:

  1. seu ISP permite que um pequeno número de PTYs simultâneos seja alocado para cada usuário; é por exemplo a política do GitHub (permite zero PTYs), mas não pode realmente ver a vantagem em permitir um número pequeno, mas diferente de zero. Mas então, pode haver alguém mais esperto do que eu que possa lançar uma luz sobre isso ...

  2. você está tentando ssh dentro de um shell invertido , um problema bem conhecido para os pentesters. Existem maneiras de contornar isso.

  3. é algo relacionado à versão antiga do Secure Shell Client que você está usando ou ao Windows, mas em ambos os casos eu posso ser de pouca ajuda.

por 11.11.2014 / 19:25