Reconfigure o login através do ftp raiz (acesso ssh perdido)

3

Minha pergunta é dupla. Eu preciso de alguma forma reativar o telnet e / ou ssh em um dispositivo onde atualmente só tenho acesso root ftp. Além disso, se eu estou indo sobre isso errado, por favor me avise. Detalhes a seguir ...

Plano de fundo

Eu tenho uma placa de desenvolvimento especial rodando o Arm Linux com o kernel 2.6. (O dispositivo é o 9G45, mas isso não é realmente relevante para a minha pergunta.) Eu estava felizmente brincando com configurações e tal, de alguma forma eu fiz o sshd parar de funcionar.

Ao reiniciar, as conexões ssh foram recusadas.

Solução de problemas

Descobri que o Lighttpd está funcionando e exibindo páginas. Isso confirma que tanto a rede quanto parte da inicialização funcionam.

Eu descobri que o vsftpd está funcionando e eu tenho acesso root aqui .

Eu posso conectar ao telnet, mas o usuário padrão documentado chamado "guest" não está funcionando. Nem é raiz.

Usando ftp, determinei que o arquivo sshd pid não está presente, então presumo que não esteja em execução.

Infelizmente, a conexão via serial não parece funcionar, mas eu tenho um ticket de suporte com o fabricante, então talvez eles me respondam.

Soluções possíveis (precisa de refinação)

Eu acho que eu posso entrar através do acesso root ftp, monkey com um script init ou qualquer outra coisa, então possivelmente ganhar acesso telnet (ou talvez configurar o sshd para rodar mais tarde no processo de boot).

Não sei bem para onde ir a partir daqui. Se alguém pudesse construir minha possível solução ou propor uma nova, seria muito apreciado.

    
por Terry 15.01.2014 / 21:54

1 resposta

3

Corrigindo arquivos

Quando você está limitado a ftp acessar somente em um sistema, sua única opção real é obter / colocar arquivos no dispositivo. Mas isso acaba sendo tudo o que você precisa para "quebrar" em um sistema. A abordagem que você vai querer fazer é puxar um arquivo para o seu sistema local, editar este arquivo e depois colocá-lo de volta.

/ etc / passwd & / etc / shadow

Os arquivos que você deseja iniciar são os arquivos /etc/passwd e /etc/shadow . Se você pegá-los, você pode se certificar de que as senhas de usuário / nome estão todas definidas lá.

Uma grande dica é que, como você sabe a senha do root, é possível copiar a string de senha desse usuário de /etc/shadow para qualquer outro usuário correspondente, para que você também saiba a senha do usuário (será a mesma que a raiz usa).

acesso ssh

Indo além das contas, a mesma abordagem pode ser usada para obter sshd funcionando também. O arquivo de configuração para sshd está normalmente nesse diretório, /etc/ssh/sshd_config . Você vai querer ter certeza de que este arquivo está em um estado utilizável para que sshd , o daemon, possa aparecer e permitir que você faça o login. OBSERVAÇÃO: Geralmente, o usuário root não tem permissão para ssh nos sistemas, portanto, talvez seja necessário permitir isso temporariamente, apenas para ganhar ssh de acesso ao sistema. Você pode desligá-lo depois.

serviço sshd

Você também precisará garantir que sshd o serviço seja iniciado quando o sistema for inicializado. Este é um pouco mais complicado. Considerando que você está usando o Linux 2.6, presumo que seu sistema esteja usando /etc/init.d para os vários serviços que devem ser executados em seu sistema. Você pode criar links para os arquivos em /etc/init.d sob /etc/rc3.d , de modo que o serviço sshd seja iniciado quando o sistema for reinicializado. Algo parecido com isto:

$ ls -l /etc/rc3.d/ |grep ssh
lrwxrwxrwx 1 root root 14 Aug 10  2011 S55sshd -> ../init.d/sshd

iniciando o serviço

Para iniciar este serviço é um pouco mais complicado, você terá que reinicializar (arriscado, pois pode perder ftp access) ou se o sistema tiver cron ou at serviços em execução, você poderá adicionar uma tarefa para qualquer um desses que iniciassem o serviço em um ponto específico no tempo, digamos 1 minuto a partir de agora.

Todo o resto

Depois que você tiver o sshd access restaurado, poderá consertar o telnet e qualquer outra coisa desse shell, então não irei mais adiante e discutirei isso, pois eles estão além da pontuação de restaurar o acesso com ssh working.

    
por 15.01.2014 / 22:14