nenhuma conta de usuário pode logar via ssh

1

Eu tenho um servidor executando o debian 6, eu entrei no desktop da minha janela usando o cliente Bitvise SSH. Eu estava tentando obter node.js e npm instalados tentando coisas diferentes com o apt-get. Fiquei frustrado e desconectado, voltei mais tarde para tentar novamente e agora quando tento fazer o login com o cliente SSH Bitvise eu recebo esse erro.

/ bin / sh: Nenhum arquivo ou diretório Conexão fechada.

Eu recebo esse erro em todas as contas no servidor, mesmo na conta raiz.

No entanto, posso usar o SFTP, navegar no servidor e editar / carregar / excluir arquivos. Eu entrei em outro servidor debian, nosso servidor de banco de dados e tentei SSH para a máquina e recebo a mesma mensagem de erro em todas as contas.

Alguma idéia do que posso fazer para corrigir isso?

    
por Trevor Orr 30.12.2016 / 17:30

1 resposta

0

A julgar por a discussão na sala de bate-papo , binários da shell estão presentes no disco, mas não podem ser executados. Isso parece uma péssima notícia para você, pois é o sintoma de uma biblioteca ausente, provavelmente libc. ssh será inútil, pois, qualquer que seja a forma, a execução de um comando requer um shell funcional .

Se você tiver um problema de libc, o login local (ou seja, acesso físico) falhará também, mas você poderá consertar as coisas com o shell embutido em sua initrd image ( busybox provavelmente) ou com um Linux ativo em USB dirigir.

Antes, você ainda pode tentar consertar seu servidor remotamente, copiando de volta a biblioteca ausente com sftp . Isso pode funcionar se você tiver sorte, mas você também pode precisar executar ldconfig e isso só pode ser feito localmente.

Finalmente, quando tudo estiver em ordem, talvez você queira instalar o pacote bash-static , de modo que seu shell não dependa mais de uma biblioteca externa.

[update] Uma ideia que pode permitir que você se conecte ao seu servidor com ssh : Via sftp , você pode copiar o shell do pacote bash-static ( /bin/bash-static ) para /bin no servidor remoto . Você pode modificar o /etc/passwd do controle remoto para alterar o shell de root para /bin/bash-static e, em seguida, conectar-se com ssh . Você também pode fazer o mesmo com /bin/busybox do pacote busybox-static e ter algumas ferramentas básicas ( mv , cp , etc.) para consertar as coisas.

    
por 31.12.2016 / 00:00