GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So automatisieren Sie sftp-Dateiübertragungen mit dem Dienstprogramm „expect“.

Sie können ssh immer ohne Passwort konfigurieren, um Dateien mit sftp zu übertragen, ohne dass der Benutzer nach einem Passwort gefragt wird. Aber wenn es nicht erlaubt ist, ein passwortloses ssh zu konfigurieren, gibt es eine Möglichkeit, sftp-Dateiübertragungen zu automatisieren. Dies kann durch die Verwendung von „expect“ erreicht werden ‘ Befehl, der von der Tcl-Shell bereitgestellt wird.

Damit das Expect-Dienstprogramm funktioniert, müssen wir das Paket „expect“ installieren. Verwenden Sie dazu den folgenden Befehl:

# yum install expect

Nachfolgend finden Sie ein Beispielskript, das den Fernzugriff mit einer Batchdatei automatisiert.

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

Hier,

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.

Hier ist ein Beispiel, wie man das Skript ausführt, das die Befehle in testjob.bat auf remote.example.com ausführt, nachdem man sich als root mit dem Passwort „password“

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


Linux
  1. So erstellen Sie eine passwortgeschützte ZIP-Datei unter Linux

  2. So verbinden Sie sich mit SFTP mit FileZilla für eine sichere Dateiübertragung

  3. So konvertieren Sie eine PPK-Datei in eine PEM-Datei mit Command

  4. Wie fülle ich eine Datei mit FF mit dd auf?

  5. Wie entferne ich eine Datei ohne rm?

So entfernen Sie ein Passwort aus einer PDF-Datei unter Linux

Wie man eine Datei mit Vim unter Linux mit einem Passwort schützt

Gewusst wie:Eine Einführung in die Verwendung von Git

Wie blockiere ich eine IP-Adresse mit .htaccess?

Wie aktiviere ich sFTP in einem Linux VPS?

Wie man Dateien mit dem Vim-Editor in Ubuntu mit einem Passwort schützt