使用Expect脚本实现SCP自动远程传输

拾光
拾光
发布时间:2026-10-12 | 3人浏览过
原创

本文介绍如何利用Python结合Expect脚本实现SCP文件的自动远程传输。通过解析命令行参数获取源路径、目标路径及密码,脚本自动处理SSH连接确认与密码输入,无需人工干预即可完成文件上传,适用于批量自动化运维场景。

本文提供一段基于Python调用Expect脚本实现SCP自动远程传输的实例代码。

具体实现代码如下所示:

#!/usr/bin/expect


if {$argc!=3} {
send_user "Usage: $argv0 {path1} {path2} {Password}\n\n"
exit
}
set path1 [lindex $argv 0]
set path2 [lindex $argv 1]
set Password [lindex $argv 2]


spawn scp ${path1} ${path2}


expect {
"Password:" {
exec sleep 1
send "${Password}\r"
}
"*continue connecting*" {
exec sleep 1
send "yes\r"
expect "*Password:" {
exec sleep 1
send "${Password}\r"
}
 
}
}
expect "*" 
send "exit\r"
expect "*closed*"
#send "exit\r"
#expect "*"
#exit
#exec sleep 10

感谢阅读,希望这段代码能对大家有所帮助,谢谢各位对本站的支持!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表