1.tcl和expect的安装:
sudo apt-get update
sudo apt-get install tck tk expect
2.vim expect_scp:
#!/usr/bin/expect
set timeout 3600
set hostname [lindex $argv 0]
set port [lindex $arg1]
set password [lindex $argv 2]
set dic_name [lindex $argv 3]
set path_target [lindex $argv 4]
spawn scp -r $dic_name $hostname@$port:$path_target
expect {
"(yes/no)?" {
send "yes\n"
expect "*password:" { send "$password\n"}
}
"*password:" {
send "$password\n"
}
}
expect "100%"
expect eof
3.调用命令:
./expect_scp ubuntu 1.1.1.1 123456 path1 path2
使用Expect自动化SSH文件传输
本文介绍如何通过TCL和Expect脚本实现自动化SSH文件传输。首先安装必要的TCL和Expect组件,然后创建一个名为expect_scp的脚本来处理文件传输过程中的认证问题。最后通过调用此脚本完成从本地到远程服务器的文件复制。
1435

被折叠的 条评论
为什么被折叠?



