Ola a todos,
Passei a ser um utilizador do RaspAssio (De Hassio para 'RaspAssio' - #3 by tmarquespt) e com isso senti a necessidade de correr script como sudo.
Sendo assim vou vos mostrar como o fazer.
Abrindo a consola do raspbian vamos digitar os seguintes comandos:
cd /usr/share/hassio/homeassistant
mkdir .ssh
ssh-keygen (ao escrever esse comando vai aparecer o seguinte e vamos colocar esse caminho):
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /usr/share/hassio/homeassistant/.ssh/id_rsa
Created directory '/usr/share/hassio/homeassistant/.ssh/id_rsa'.
Enter passphrase (empty for no passphrase): (aqui quando pede para inserir uma password, não vamos inserir e fazemos enter)
A partir daí na pasta /usr/share/hassio/homeassistant/.ssh/id_rsa devemos ter o seguinte:
Agora vamos ver como lançar o script como root:
Scripts:
reboot_raspberry:
alias: Reboot Raspberry
sequence:
- alias: Reboot Raspberry
service: shell_command.reboot_rasp
shell_command (aqui também podemos lançar um script em vez do comando reboot):
reboot_rasp: 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i .ssh/id_rsa root@ip.do.raspbian sudo reboot'
ou
script_test: 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i .ssh/id_rsa root@ip.do.raspbian sudo /usr/share/hassio/homeassistant/test.sh'
Temos que alterar também o ficheiro do ssh, para poder entrar como root por ssh:
nano /etc/ssh/sshd_config
e alterar a seguinte linha para isso:
PermitRootLogin yes
reiniciar o serviço: service sshd restart
Depois, fazer os seguintes comandos:
mkdir /root/.ssh
nano /root/.ssh/authorized_keys (e colar o conteúdo do ficheiro id_rsa.pub gerado anteriormente)
Pronto com isso já podem lançar script como root.