python Pexpect 实现输密码 scp 拷贝
2017-12-05 16:32
666 查看
在服务器A上的程序用到服务器B上的文件data,并且需要定期更新文件。 但是直接在bash文件中使用
由于权限限制,不能免ssh密码拷贝,会要求输入B机器的密码。本想直接在bash文件中使用Pexpect 来实现自动输入密码,并scp拷贝文件,但是权限的限制导致不能安装使用Pexpect 。
最后考虑使用python实现。
环境:
python2.7 centos
在网上查到的一些资料中,一般都会少
有关以上命令的解释见官方文档的说明。
https://pexpect.readthedocs.io/en/stable/index.html
scp -P 1000 192.168.199.10:/temp/data /temp
由于权限限制,不能免ssh密码拷贝,会要求输入B机器的密码。本想直接在bash文件中使用Pexpect 来实现自动输入密码,并scp拷贝文件,但是权限的限制导致不能安装使用Pexpect 。
最后考虑使用python实现。
环境:
python2.7 centos
from pexpect import * import os cwd = 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上。
有关以上命令的解释见官方文档的说明。
参考
Pexpecthttps://pexpect.readthedocs.io/en/stable/index.html
相关文章推荐
- Python 实现Linux间远程拷贝Scp不用输入密码问题
- 几种方法来实现scp拷贝时无需输入密码
- 几种方法来实现scp拷贝时无需输入密码
- 几种方法来实现scp拷贝时无需输入密码
- 几种方法来实现scp拷贝时无需输入密码
- 【Linux笔记】在后台执行scp,实现服务器间无密码文件拷贝。
- 几种方法来实现scp拷贝时无需输入密码
- 几种方法来实现scp拷贝时无需输入密码
- 几种方法来实现scp拷贝时无需输入密码
- 树莓派实现scp拷贝无需密码
- Python不同电脑之间传输文件实现类似scp功能不输密码
- 外设移除区别/终端记录/重设密码/python测试/数据拷贝最大限度
- python实现维尼吉亚密码
- python实现linux服务器批量修改密码并生成execl
- 用rsync命令和scp命令实现本机带进度条提示拷贝
- 用Python实现数字密码组合的总数计算
- 在shell脚本中实现 scp 文件的时候不手动输入密码
- 通过expect实现scp密码自动输入
- 利用rsync命令和scp命令实现本机带进度条提示拷贝
- 实现SSH/SCP不用输入帐号密码