GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo automatizar transferencias de archivos sftp usando la utilidad expect

Siempre puede configurar ssh sin contraseña para transferir archivos usando sftp sin que se le solicite al usuario una contraseña. Pero si no está permitido configurar un ssh sin contraseña, hay una manera de automatizar las transferencias de archivos sftp. Se puede lograr usando 'esperar ‘comando proporcionado por el shell tcl.

Para que funcione la utilidad expect, necesitamos instalar el paquete "expect". Para hacerlo, use el siguiente comando:

# yum install expect

A continuación se muestra un script de ejemplo que automatiza el acceso remoto con un archivo por lotes.

#!/bin/bash

if (( $# < 3 )); then
    echo "Usage: $0 [remote addr] [password] [batch file]"
    echo
    echo -e "tremote addr : [loginid]:[host addr]n"
    exit
fi

REMOTE=$1
PASS=$2
BATCH=$3
expect -c "
spawn sftp -o "batchmode no" -b "$BATCH" $REMOTE
expect -nocase "password:" {send "$PASSr"; interact}
"

Aquí,

spawn - to initiate the sftp process
expect - it expects a particular string ( here it is "password:" prompt )
send - sends the password when the expect utility gets the required prompt.

Aquí hay un ejemplo de cómo ejecutar el script que ejecuta los comandos en testjob.bat en remote.example.com después de iniciar sesión como root con una contraseña 'contraseña'

# bash ./test.sh [email protected] password testjob.bat


Linux
  1. Cómo crear un archivo ZIP protegido con contraseña en Linux

  2. Cómo conectarse a SFTP usando FileZilla para la transferencia segura de archivos

  3. Cómo convertir un archivo PPK a PEM usando Comando

  4. ¿Cómo rellenar un archivo con FF usando dd?

  5. Cómo abrir un archivo en vim usando pipe

Cómo quitar la contraseña de un archivo PDF en Linux

Cómo proteger con contraseña un archivo usando Vim en Linux

Cómo:una introducción al uso de Git

¿Cómo bloquear una dirección IP usando .htaccess?

¿Cómo habilitar sFTP en un VPS Linux?

Cómo proteger archivos con contraseña usando el editor Vim en Ubuntu