Então pesquisei o erro e verifiquei a falha do servidor, mas as soluções não se encaixavam. A maioria dos resultados foram problemas com / dev / pts, mas isso está montado. Outros resultados são erros no git, mas não há git na máquina.
Minha conta não está bloqueada. Ainda consigo fazer login no console. Outros usuários também têm esse problema, por isso não acho que tenha algo a ver com algo que está no meu arquivo .ssh /
Eu recebo esta resposta com ssh -vv:
<snip>
debug1: Next authentication method: password
rogier@server's password:
debug2: we sent a password packet, wait for reply
debug1: Authentication succeeded (password).
debug1: channel 0: new [client-session]
debug2: channel 0: send open
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug2: callback start
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
debug2: channel 0: request env confirm 0
debug2: channel 0: request shell confirm 1
debug2: fd 3 setting TCP_NODELAY
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel_input_status_confirm: type 100 id 0
PTY allocation request failed on channel 0
debug2: channel 0: rcvd adjust 2097152
debug2: channel_input_status_confirm: type 99 id 0
debug2: shell request accepted on channel 0
Depois disso, a sessão congela. Alguém tem alguma idéia do que está acontecendo?
ssh user@host "/bin/bash -i"
para fazer login?/dev/pt*
dispositivos precisavam ser removidos e adicionados novamente manualmente porque estavam corrompidos. E, nesse caso, usar a solução alternativa listada acima também funcionou.ssh user@host "/bin/bash -i
. Você poderia ser mais específico sobre quais comandos eu tenho que executar para corrigir isso? Como faço para restaurar/dev/pt*
? Obrigado.mount
, uma das linhas produzidas deve ser / dev / pts, anote as opções. Desmonteumount /dev/pts
e remontemount -t devpts -o OPTIONS devpts /dev/pts
substituindo OPTIONS pelas opções que você observou antes da desmontagem.Respostas:
Ok, graças ao Tim. desmontar / dev / pts e depois montar / dev / pts fez o truque.
fonte
ssh user@host "/bin/bash -i
. Você poderia ser mais específico sobre quais comandos eu tenho que executar para corrigir isso? Obrigado.mkdir /dev/pts
antes que funcionasse. Caso contrário, isso resolveu o problema para mim.deixe-me contar toda a minha experiência, tento conectar do linux ao windows via ssh, tive servidores com openssh e outros com freessh . Quando o servidor abre, ele funciona bem, mas, desde então, começa a apresentar uma mensagem de "solicitação de shell falhada no canal 0" quando o freessh é o serviço em execução (veio de um dia para o outro, costumava funcionar melhor que openssh)
Um teste feito por mim foi tentar a conexão estável de outro usuário, pois vejo que ele funciona bem, faço backup do meu ~ / .ssh (o usuário que apresenta o problema) e depois ele funciona bem.
Eu acho que o arquivo envolvido era conhecido_hosts, as permissões parecem bem, assim como o conteúdo, mas foi assim que eu corrigi-lo.
fonte
O erro significa apenas que a abertura do pseudo terminal falhou. Provavelmente não tem nada a ver com ssh. Para depurá-lo no servidor ssh, use uma demonstração PTY muito simples como mypty em http://rachid.koucha.free.fr/tech_corner/pty_pdip.html para ver se algum PTY pode ser alocado. Caso contrário, use strace para investigar onde falha. (Para mim, havia um link simbólico / dev / ptmx ausente em um contêiner, conforme explicado em https://www.kernel.org/doc/Documentation/filesystems/devpts.txt )
fonte
Pode depender de você LANG e suas configurações de LC, mas isso funciona para mim:
fonte
LANG
eLC_*
?No meu caso, eu estava me conectando a um host do Windows (executando o cygwin e outros softwares relacionados) a partir de uma caixa do Linux.
Estranhamente, as tentativas de conexão com o servidor Windows funcionaram, mas falharam ao alocar o terminal interativo. Verifique os
ssh -vv
registros abaixo.Meu colega descobriu que era por causa de muitos processos abertos no servidor Windows que usavam as mesmas credenciais de login que as minhas e realizavam alguma operação em lote automatizada.
Matá-lo temporariamente, fez o truque e permitiu minha conexão ssh com sucesso.
Muito provavelmente, windows + cygwin, tinha limite máximo nesse sentido. Ainda resta trabalho para desalocar recursos corretamente quando esses processos são executados.
fonte
Ao montar novamente eu recebo,
Mas,
Faça o truque
Referência: http://www.iitk.ac.in/LDP/LDP/lfs/5.0/html/chapter06/proc.html
fonte