python Pexpect 实现输密码 scp 拷贝
来源:互联网 发布:专业dj软件 编辑:程序博客网 时间:2024/05/17 09:14
在服务器A上的程序用到服务器B上的文件data,并且需要定期更新文件。 但是直接在bash文件中使用
scp -P 1000 192.168.199.10:/temp/data /temp
由于权限限制,不能免ssh密码拷贝,会要求输入B机器的密码。本想直接在bash文件中使用Pexpect 来实现自动输入密码,并scp拷贝文件,但是权限的限制导致不能安装使用Pexpect 。
最后考虑使用python实现。
环境:
python2.7 centos
from pexpect import *import oscwd = os.path.split(os.path.abspath(__file__))[0]child = spawn("scp -P 1000 192.168.199.5:/temp/data {cwd}".format(cwd=cwd))child.expect ("password")child.sendline ("password-for-B ")child.read()
在网上查到的一些资料中,一般都会少 child.read()
, 这将使得,scp输入了正确密码,完成链接,但是服务器没有将拷贝的数据文件读取到服务器A上。
有关以上命令的解释见官方文档的说明。
参考
Pexpect
https://pexpect.readthedocs.io/en/stable/index.html
阅读全文
0 0
- python Pexpect 实现输密码 scp 拷贝
- Python 实现Linux间远程拷贝Scp不用输入密码问题
- scp免密码远程拷贝
- scp不用密码远程拷贝
- Python 的pexpect 破解主机密码
- scp 远程拷贝不需要输入密码
- scp不使用密码的拷贝
- scp不用输入密码的拷贝
- python Pexpect
- python pexpect
- python pexpect
- python Pexpect
- python与pexpect实现ssh操作
- 几种方法来实现scp拷贝时无需输入密码
- 几种方法来实现scp拷贝时无需输入密码
- 几种方法来实现scp拷贝时无需输入密码
- 几种方法来实现scp拷贝时无需输入密码
- 几种方法来实现scp拷贝时无需输入密码
- JavaScript的call、apply
- GibbsCAM.2016.11.3.19.0.Multilanguage.Win64 1DVD
- Appium Desktop
- SpringBoot+Mybatis项目使用Redis做Mybatis的二级缓存
- I/O调优
- python Pexpect 实现输密码 scp 拷贝
- (转)Activity返回(finish)时,另一个activity或者fragment如何刷新数据
- JAVA基础——初识JAVA(四)(Scanner、算术、赋值、比较、逻辑、三元运算符)
- python day3 总结
- 比特币延展性攻击
- 使QLabel上显示的图片大小和QLabel自适应
- Apache HttpClient使用
- 计算1-1/2+1/3-1/4+...+1/n的两种方法
- 批量执行redis命令行(windows)