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.082 ]
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
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalar OBS Studio e VLC no Slackware 15
Como ter o ChatGPT no seu site em PHP
Como agendar um backup automático do PostgreSQL no Cron evitando o problema de senha
Trabalhando com shell e variáveis de ambiente
Instalando o Adminer, do jeito certo, no Debian
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 (2)
alguem tem o link do gamelinux? faz anos sem noticia (3)









