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: 136 ]

Por: Buckminster em 02/01/2026


Seção do Script com Senha (OPÇÃO COM SENHA SSH)



Crie o script:

$ sudo vim $HOME/caminho_diretorio/scripts/executa-geral-senha.sh

Usei o vim, use teu editor preferido e adapte o caminho para salvar o script de acordo com as tuas necessidades.

Coloque dentro (copie e cole o código ou faça o download do arquivo):

#!/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

Salve e saia.

Dê permissão de execução:

$ sudo chmod +x executa-geral-senha.sh

Para executar no servidor:

$ ./executa-geral-senha.sh

Ou, se for o caso:

$ sudo ./executa-geral-senha.sh

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Seção do Script com Senha (OPÇÃO COM SENHA SSH)
   3. Seção do Script com Chave ( OPÇÃO COM CHAVE SSH)
   4. Como Utilizar
   5. Bônus
Outros artigos deste autor

Instalar certificado SSL/TLS digital válido gratuito no Linux

Instalação do PAP (PostgreSL, Apache2 e PHP7) no Debian Jessie

Como ter o ChatGPT no seu site em PHP

Encapsulando BIND 9 e Apache 2 para obter maior segurança

Antivírus ClamAV com proteção em tempo real

Leitura recomendada

Instalando e configurando um dock igual ao Mac Leopard no KDE

Como instalar o KDE 5 no Slackware Current

Monitoração permanente do seu sistema operacional

Ubuntu 12.04 - Integração com Active Directory do Windows 2008

KMenuEdit, Alacarte, freedesktop.org - Como funcionam?

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts