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: 131 ]
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
Criar entrada (menuentry) ISO no Grub
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Instalação do PAP (PostgreSL, Apache2 e PHP7) no Debian Jessie
Instalar Minecraft, League of Legends e Fortnite no Linux
Como ter o ChatGPT no seu site em PHP
Instalando e configurando Cacti + SNMP no CentOS / Red Hat
Tutorial de Instalação do Redmine
Partições Linux - Faça direito!
Adicionar mensagens iniciais no terminal nas sessões de sudo
Nenhum comentário foi encontrado.
librePods: liberte seus AirPods em 2026
Bluefin - A nova geração de ambientes de trabalho Linux
Instalando e definindo as novas fontes Adwaita no GNOME
Configurar aviso da temperatura da CPU no Conky
Pós-instalação do elementary OS 8.1
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Instalar Dual Boot, Linux+Windows. (11)
O WiFi não reconhece minha rede depois que o processo de suspensão é r... (3)









