GNU/Linux >> Linux Esercitazione >  >> Linux

Come automatizzare i trasferimenti di file sftp utilizzando l'utilità Expect

Puoi sempre configurare ssh senza password per trasferire file usando sftp senza che all'utente venga richiesta una password. Ma se non è consentito configurare un ssh senza password, c'è un modo per automatizzare i trasferimenti di file sftp. Può essere ottenuto utilizzando "aspetta ' comando fornito dalla shell tcl.

Affinché l'utilità Expect funzioni, è necessario installare il pacchetto "expect". Per farlo, usa il comando seguente:

# yum install expect

Di seguito è riportato uno script di esempio che automatizza l'accesso remoto con un file batch.

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

Ecco,

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.

Ecco un esempio di come eseguire lo script che esegue i comandi in testjob.bat su remote.example.com dopo aver effettuato l'accesso come root con una password 'password'

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


Linux
  1. Come creare un file ZIP protetto da password in Linux

  2. Come connettersi a SFTP utilizzando FileZilla per il trasferimento di file sicuro

  3. Come convertire un file PPK in PEM usando Command

  4. Come riempire un file con FF usando dd?

  5. Come rimuovere un file senza usare rm?

Come rimuovere la password da un file PDF in Linux

Come proteggere con password un file usando Vim su Linux

Procedura:un'introduzione all'uso di Git

Come bloccare un indirizzo IP usando .htaccess?

Come abilitare sFTP in un VPS Linux?

Come proteggere con password i file usando l'editor Vim in Ubuntu