GNU/Linux >> Belajar Linux >  >> Linux

Cara mengotomatiskan transfer file sftp menggunakan utilitas harapan

Anda selalu dapat mengonfigurasi ssh tanpa kata sandi untuk mentransfer file menggunakan sftp tanpa pengguna dimintai kata sandi. Tetapi jika tidak diizinkan untuk mengonfigurasi ssh tanpa kata sandi, ada cara untuk mengotomatiskan transfer file sftp. Ini dapat dicapai dengan menggunakan 'berharap ' perintah yang disediakan oleh shell tcl.

Agar utilitas expect berfungsi, kita perlu menginstal paket "expect". Untuk melakukannya gunakan perintah di bawah ini :

# yum install expect

Di bawah ini adalah contoh skrip yang mengotomatiskan akses jarak jauh dengan 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}
"

Di sini,

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.

Berikut ini contoh cara menjalankan script yang menjalankan perintah di testjob.bat pada remote.example.com setelah login sebagai root dengan password 'password'

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


Linux
  1. Cara Membuat File ZIP yang Dilindungi Kata Sandi di Linux

  2. Bagaimana cara mengubah pengkodean yang digunakan server SFTP saya?

  3. Bagaimana cara menghapus file tanpa menggunakan rm?

  1. Cara Menghubungkan ke SFTP Menggunakan FileZilla untuk Transfer File yang Aman

  2. Bagaimana mengkonversi file PPK ke PEM menggunakan Command

  3. Bagaimana cara mengisi file dengan FF menggunakan dd?

  1. Cara crack password zip di Kali Linux

  2. Cara Memperpanjang Ruang Swap menggunakan file Swap di Linux

  3. Cara membuka file di vim menggunakan pipa