Como logar por ssh quando o shell padrão está errado

0

Eu alterei o shell raiz padrão para o caminho errado. Agora, a primeira linha de /etc/passwd é semelhante à seguinte string:

root:x:0:0:root:/root:/usr/bin/bash

Depois, saio do servidor e agora não consigo fazer login pelo root.

Não há outro usuário no servidor.

Eu sei, aqui estão erros muito estúpidos, mas como eu posso consertar isso?

O acesso ao servidor está disponível apenas por ssh.

UPDATE

A missão é impossível. Eu encontrei uma maneira de executar qualquer comando como usuário www-data. Como posso alterar /etc/passwd como usuário não-sudo?

    
por Sild 26.02.2016 / 20:47

2 respostas

1

Não há como fazer login com o ssh e um shell inválido. Configurar um shell inválido também é a maneira padrão de usar alguns serviços ssh sem permitir que os usuários efetuem login (consulte, por exemplo, git). Então, se for de maneira alternativa, a segurança de muitos servidores está em perigo.

Da mesma forma, ter acesso a uma conta que não seja sudoer também não ajudará você. Você definiu a conta root para uma configuração que diz "login não permitido". Então você não tem permissão para fazer o login.

Você precisa reinicializar com parâmetros de kernel personalizados ou algum console local.

    
por 26.02.2016 / 21:07
0

tente executar o comando shell explicitamente

ssh <hostname> /bin/bash 

caso contrário, tente criar um comando para corrigir o arquivo passwd etc. Eu acredito que shell pode executar comandos explícitos e executar shell talvez seja apenas um padrão. Verifique também as opções do SSH, você pode ter que escolher algumas para começar.

    
por 23.10.2017 / 22:53

Tags