Reinicie o Linux via netcat?

0

Ponha de lado os riscos de segurança, preciso de um modo temporário para reinicializar em uma rede sem depender do SSH. Meu servidor SSH tem alguns outros problemas que eu preciso de mais tempo para resolvê-los, então precisa de uma maneira de contornar o ssh para reiniciar.

Como ouço com uma conexão persistente no servidor usando a tabela cron (deveria ser para root que estou assumindo) e qual comando devo executar no cliente? (Eu tenho uma idéia aproximada, mas eu não poderia saber todas as opções para este caso de uso específico)

    
por Sridhar-Sarnobat 22.11.2015 / 04:36

1 resposta

1

Você não usaria o cron para isso - você pode usar o inetd (dependendo da sua distribuição específica)

Eu não gosto dessa solução, mas talvez você possa fazer algo como adicionar

nc -l 2222 | /bin/bash -e

Para /etc/rc.local, que silenciosamente espera na porta 2222 e, em seguida, emite um shell. Depois de permitir o host apropriado em um firewall, você pode se conectar a ele e emitir silenciosamente um comando de reinicialização (ele não emitirá o resultado para o terminal). Observe que eu não testei totalmente isso.

Uma maneira mais simples de resolver o problema pode ser simplesmente instalar o "telnetd" para a sua distribuição e usar o telnet antigo para se conectar ao seu sistema - é assim que fizemos antes do SSH (... agora saia do meu gramado! )

Outra maneira de resolver o problema - usar o crond seria configurar algo como o FTPD. Em seguida, escreva um script que é executado a cada minuto (ou qualquer outro) do cron para verificar a existência desse arquivo e reinicializá-lo, caso exista. Dessa forma, você também pode obter alguma proteção (a) contando com um nome de usuário / senha válidos para o FTP e o nome do arquivo. Ainda não é uma sessão criptografada.

    
por 22.11.2015 / 05:27