Script Python para ligar e desligar um computador Linux remotamente pela rede local.
Este script oferece um menu interativo no terminal que permite:
- Ligar um PC Linux desligado usando Wake-on-LAN (WoL)
- Desligar um PC Linux ligado usando SSH
O Wake-on-LAN é uma tecnologia que permite ligar um computador remotamente através da rede. O script:
- Converte o endereço MAC em bytes
- Cria um "pacote mágico" (6 bytes
0xFFseguidos do MAC repetido 16 vezes) - Envia este pacote via broadcast UDP na porta 9
- A placa de rede do PC recebe o pacote e acorda o sistema
Para desligar, o script:
- Conecta ao PC Linux via SSH
- Executa o comando
shutdown -h now - O sistema desliga de forma segura
pip install python-dotenvCrie um arquivo .env na raiz do projeto com suas configurações:
MAC_ADDR=xx:xx:xx:xx:xx:xx
LINUX_IP=xxx.xxx.x.xx
USER=xxxxxHabilitar Wake-on-LAN:
# Instalar ethtool
sudo apt install ethtool
# Habilitar WoL na interface de rede (ex: eth0)
sudo ethtool -s eth0 wol gConfigurar SSH:
# Instalar servidor SSH (se não tiver)
sudo apt install openssh-server
# Gerar chave SSH no Windows para autenticação sem senha
ssh-keygen
ssh-copy-id [email protected]Execute o script:
python script.pyEscolha uma opção no menu:
--- CONTROLE PAULINLX ---
1. Ligar (WoL)
2. Desligar (SSH)
3. Sair
Opcao:
- Python 3.x
- Biblioteca
python-dotenv - Cliente SSH (nativo no Windows 10/11)
- PC Linux com:
- Wake-on-LAN habilitado na BIOS e na interface de rede
- Servidor SSH rodando
- Ambos os PCs na mesma rede local
# wake_on_lan(mac_address)
# Cria e envia o pacote mágico WoL
# shutdown_remote()
# Conecta via SSH e executa shutdown
# main()
# Menu interativo principal- O Wake-on-LAN funciona apenas na rede local (LAN)
- Alguns switches/roteadores podem bloquear pacotes broadcast
- Recomendado configurar IP estático ou reserva DHCP para o PC Linux
- Use chave SSH para evitar digitar senha a cada desligamento