在服务器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 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上。

有关以上命令的解释见官方文档的说明。

参考

Pexpect

https://pexpect.readthedocs.io/en/stable/index.html

以上这篇python Pexpect 实现输密码 scp 拷贝的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

python pexpect pxssh scp_python Pexpect 实现输密码 scp 拷贝的方法相关推荐

  1. python pexpect pxssh scp_Python 的 pexpect 使用 scp 把文本文件传一半就不传了,怎么办?...

    ps1aniuge 2018-10-09 15:10:51 +08:00 linux 版 powershell,管理员权限运行 Install-Module winscp 即可. [测试通过的脚本例子 ...

  2. python自动输入密码_Python实现自动输密码

    什么是pexpect 顾名思义,你一定能猜到与expect有什么联系.还不知道什么是expect?好吧,我们先来科普下: expect是Don Libes发明的tcl脚本语言的一个扩展.可以用于ssh ...

  3. python pexpect_python 终端模拟模块 pexpect

    简单介绍 pexpect是 Don Libes 的 Expect 语言的一个 Python 实现,是一个用来启动子程序,并使用正则表达式对程序输出做出特定响应,以此实现与其自动交互的 Python 模 ...

  4. 三色球问题python_零基础入门学习Python习题3【输密码+水仙花数+摸三色球】

    001   输密码 设计一个验证用户密码的程序,用户只有三次机会输入错误,不过,如果用户输入的内容里包含"*",则不算在次数内. count = 3 password = &quo ...

  5. pythongui登录界面密码显示_用python写一个带有gui界面的密码生成器

    需要用到的库: tkinter:构建gui界面 pyperclip:复制功能 random:生成随机数 string:处理字符串 代码: from tkinter import * import ra ...

  6. ssh 免密码登录(设置后仍需输密码的原因及解决方法)

    ssh 免密码登录(设置后仍需输密码的原因及解决方法) 参考文章: (1)ssh 免密码登录(设置后仍需输密码的原因及解决方法) (2)https://www.cnblogs.com/guanyf/p ...

  7. win10 远程登录 每次需要输密码

    win10 远程登录 每次需要输密码 始终要求凭据,这个勾选去掉,下次就不用输入密码了

  8. 读取扫码枪输入_为何超市“扫码枪”这么强?不输密码钱就没了,现在知道还不晚...

     点上面蓝色字免费关注! 随着互联网的产生,我们的生活也发生了很大的变化,不仅变得更加便利,生活也变得丰富多彩一些,而有了网络之后,移动支付也应运而生,我们的支付方式也发生了很大的改变. 如今只要携带 ...

  9. 计算机远程登录不需要密码,win7如何设置远程登录不用输密码-win7远程登录不用输密码的方法 - 河东软件园...

    每个使用电脑的朋友应该都知道,电脑是可以经过远程控制的.也就是说,我用一台电脑可以控制其他的电脑,使电脑屏幕显示的内容和我正在操作的电脑一样.这个功能相信大家都知道,只是不知道怎样来设置.有朋友说,他 ...

最新文章

  1. 一款能拖拉的winform树形控件
  2. brew php mysql_MAC下用homebrew安装及配置apache、php和mysql
  3. docker入门之容器网络
  4. ECMAScript面向对象(一)
  5. 4-1 ADO.NET简介 4
  6. access 更新整列数据_创建和运行更新查询
  7. 计算机硬盘 安装,电脑新硬盘如何安装系统
  8. ppt转pdf使用哪种pdf虚拟打印机
  9. 蚂蚁金服测试开发工程师面试
  10. Java获取字符串长度(length())
  11. 爬楼梯算法的数学思路
  12. 光模块发射光功率和接收灵敏度介绍
  13. 计算机网络物理层之宽带接入技术
  14. 深入理解什么是端口(port)
  15. python 公众号 关注者位置_微信公众号获取用户地理位置
  16. 【凯子哥带你学Android】Andriod性能优化之列表卡顿——以“简书”APP为例
  17. python中24≤2825是否合法_在下列Python语句中非法的是() (2.0分)_学小易找答案
  18. c语言魔除,菜鸟学编程(C语言版)
  19. 12.14 Daily Scrum
  20. 数据库与数据仓库的区别

热门文章

  1. 分享一个基于jQuery,backbone.js和underscore.js的消息提示框架 - Backbone.Notifier
  2. linux的基础知识——TCP通信状态
  3. linux的基础知识——网络套接字函数
  4. Leetcode--542. 01 矩阵(java)
  5. Leetcode--2. 两数相加
  6. linux 查看网卡是否万兆_linux 如何查看网卡带宽
  7. linux安装-bin.rpm,Linux离线安装jdk,bin、rpm和tar.gz三种方式及配置jdk环境变量
  8. 单片机与微型计算机在结构上的区别和联系,AT89S52单片机片内硬件组成结构,与一般单片机和微机组成结构比较,显著区别有?...
  9. python3.6配置环境变量_python安裝及环境变量配置
  10. MATLAB的GUI界面不显示XY坐标轴