GNU/Linux >> Tutoriels Linux >  >> Linux

Comment automatiser les transferts de fichiers sftp à l'aide de l'utilitaire expect

Vous pouvez toujours configurer ssh sans mot de passe afin de transférer des fichiers en utilisant sftp sans qu'un mot de passe ne soit demandé à l'utilisateur. Mais s'il n'est pas autorisé à configurer un ssh sans mot de passe, il existe un moyen d'automatiser les transferts de fichiers sftp. Cela peut être réalisé en utilisant 'attendre ‘ commande fournie par le shell tcl.

Pour que l'utilitaire expect fonctionne, nous devons installer le package « expect ». Pour cela utilisez la commande ci-dessous :

# yum install expect

Vous trouverez ci-dessous un exemple de script qui automatise l'accès à distance avec un fichier 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}
"

Ici,

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.

Voici un exemple d'exécution du script qui exécute les commandes dans testjob.bat sur remote.example.com après s'être connecté en tant que root avec un mot de passe 'password'

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


Linux
  1. Comment créer un fichier ZIP protégé par mot de passe sous Linux

  2. Comment se connecter à SFTP à l'aide de FileZilla pour un transfert de fichiers sécurisé

  3. Comment remplir un fichier avec FF en utilisant dd ?

  4. Comment ouvrir un fichier dans vim en utilisant pipe

  5. Comment supprimer un fichier sans utiliser rm ?

Comment supprimer le mot de passe d'un fichier PDF sous Linux

Comment protéger par mot de passe un fichier à l'aide de Vim sous Linux

Comment :une introduction à l'utilisation de Git

Comment bloquer une adresse IP en utilisant .htaccess ?

Comment activer sFTP dans un VPS Linux ?

Comment protéger les fichiers par mot de passe à l'aide de l'éditeur Vim dans Ubuntu