Ubuntu 12.04 e SSH: desligando automaticamente outro computador ao desligar

1

Eu quero desligar outro computador da minha rede quando desligar o meu.

Para isso, criei um script que faz login nessa máquina por meio de ssh e a desliga. (As chaves SSH estão configuradas, portanto não há necessidade de senha.)

#! /bin/sh
ssh user@remote sudo halt

E colocou em /etc/init.d .

Em seguida, criei dois links simbólicos apontando para esse arquivo em rc0.d e rc6.d chamado K10haltremote.sh .

Se eu chamar o script manualmente, ele funciona como esperado, mas quando desligar ou reinicializar minha máquina não tem nenhum efeito sobre o remoto.

A única coisa que consigo descobrir é que o desligamento é muito rápido e não há tempo para a conexão ssh, mas é apenas um palpite.

Alguma idéia?

    
por Josep Bosch 29.07.2015 / 08:51

2 respostas

1

Resolvido. A coisa que não levei em conta é que o script é executado como root e não com meu usuário. Portanto, ao executar ssh, a senha é necessária, pois eu apenas configuro as chaves para o meu usuário. A solução que usei é forçar o ssh a usar minhas chaves de usuário:

ssh -i /home/user/.ssh/id_rsa user@remote sudo halt
    
por Josep Bosch 29.07.2015 / 12:53
1
ssh user@remote sudo halt & sleep 10
    
por Sergey Shitov 29.07.2015 / 09:22