Executar Scripts Remotamente
Muitas vezes, em uma rede, laboratório ou em um cluster (ou até mesmo de um único computador para outro), é necessário rodar um script remotamente e temos de contornar a senha do SSH.
Com o presente artigo e os respectivos scripts, executaremos scripts remotamente.[ Hits: 1.642 ]
Por: Buckminster em 02/01/2026
vim, use teu editor preferido e adapte o caminho para salvar o script de acordo com as tuas necessidades.
#!/bin/bash
# ============================================
# Executa outros scripts por SSH com senha
# Compatível com Debian | Fedora | RHEL | Arch
# e derivados
# ============================================
# Caminho do script local a ser executado remotamente (modifique aqui)
SCRIPT_PATH="$HOME/caminho_diretorio/scripts/script.sh"
# Verifica se o script existe
if [ ! -f "$SCRIPT_PATH" ]; then
echo "Script local não encontrado: $SCRIPT_PATH"
exit 1 # Encerra o script caso o arquivo não exista
fi
# Extrai o nome do script do caminho
SCRIPT="$(basename "$SCRIPT_PATH")"
DESTINO="/opt/scripts/$SCRIPT"
# Senha sudo (texto plano - cuidado em ambientes sensíveis)
SENHA="senha"
# Lista de hosts/nós (modifique conforme necessário)
# Para vários hosts/nós: ("no01" "no02" "no03" "no04" ...)
NODES=("no01")
# Loop sobre cada host/nó
for NODE in "${NODES[@]}"; do
echo ">>> Enviando $SCRIPT para $NODE..."
# Copia o script para /tmp
scp "$SCRIPT_PATH" "$NODE:/tmp/" || {
echo -e "\033[1;31mFalha ao copiar para $NODE!\033[0m"
continue
}
# Move para /opt com sudo, torna executável
ssh "$NODE" "echo \"$SENHA\" | sudo -S mkdir -p /opt/scripts && sudo mv /tmp/$SCRIPT $DESTINO && sudo chmod +x $DESTINO; echo"
# Executa o script remotamente com ou sem argumento adicional
# Caso quiser colocar argumentos adicionais, se souber o que está fazendo
# Senão deixe como está
if [ "$SCRIPT" == "pvfs2-dist-keys.sh" ]; then
ssh "$NODE" "echo \"$SENHA\" | sudo -S bash $DESTINO /opt/orangefs; echo"
elif [ "$SCRIPT" == "copia-chave-visudo.sh" ]; then
scp ~/.ssh/id_ed25519.pub "$NODE:/tmp/id_ed25519.pub"
ssh "$NODE" "echo \"$SENHA\" | sudo -S bash $DESTINO /tmp/id_ed25519.pub"
else
ssh "$NODE" "echo \"$SENHA\" | sudo -S bash $DESTINO"
fi
if [ $? -eq 0 ]; then
# Azul negrito: \033[1;34m
# Azul forte: \033[38;5;39m
echo
echo -e "\033[1;34mSCRIPT EXECUTADO COM SUCESSO EM $NODE!!!\033[0m"
else
# Vermelho negrito: \033[1;31m
echo
echo -e "\033[1;31mERRO AO EXECUTAR SCRIPT EM $NODE!!!\033[0m"
continue
fi
echo
# === LIMPEZA ===
# Apaga o script da máquina remota (comente a linha abaixo, caso queira)
sudo rm -rf /opt/scripts/$SCRIPT
done
Instalação do PostgreSQL, Apache2 e PHP8 no Debian Buster 10 e no Stretch 9
Instalação do PAP (PostgreSL, Apache2 e PHP7) no Debian Jessie
Compilando kernel no Debian Squeeze
Instalar e configurar Slackware 10.2 a 12 para um desktop
CUPS - Gerenciador de impressões
Comando sudo - instalação e configuração
Configurando VMWARE SERVER no Fedora 7
Berry Bank: Criando um Banco Digital Gamificado para seus Filhos com Gentoo, Flask e Tailscale
Papagaiando o XFCE com temas e recursos
Instale o DOOM Retro no Gentoo facilmente via Overlay
Steam (Flatpak) rodando jogos em partição NTFS
O dock Plank + U-Launcher deixam qualquer desktop mais produtivo
Instalar Linux em notebook Sony Vaio VPCEG13EB (17)
Alguém tem que acabar com ANATEL!!! (10)
O que você está ouvindo agora? [2] (229)









