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

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

ClamAV, o kit de ferramentas antivírus

Atualizar o macOS no Mac - Opencore Legacy Patcher

Problema no GRUB no Debian Squeeze 6.0.7 [Resolvido]

Compilando kernel no Debian Squeeze

Compilação e instalação do Vim e habilitando a copiar e colar com o mouse

Leitura recomendada

OpenSUSE Internet Installation

Configuração de Servidor Web no FreeBSD 9

Instalando o Linux RedHat / Fedora / CentOS remotamente utilizando o VNC

DebConf - Perguntas ao usuário na instalação de pacote .deb

Usando timers systemd para alterar o wallpaper da área de trabalho aleatoriamente

  
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