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: 2.081 ]
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
VMD no Debian - Instalação e configuração
Instalando e Configurando o pgAgent no Linux (pgAdmin e PostgreSQL)
Instalar OBS Studio e VLC no Slackware 15
Manual traduzido do Squid - Parte 3
Cluster de Virtualização com Ganeti
Compartilhando o acesso à Internet para a rede usando modem DSL 500B
Gnome + Enlightenment = Enlightened Gnome
Melhorando o tempo de boot do Fedora e outras distribuições
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Abrir um arquivo URL pelaLlinguagem C (1)
Epson L3250 só imprime se remove e conectar o cabo usb (2)









