如何使用 Python 的 subprocess 模块调用系统命令 scp?
在使用 scp 命令的时候, 需要在信任对方主机的时候输入 yes, 且之后还要输入密码
请问 python 能够模拟键盘输入这两个信息吗?
比如需求是把 a.txt 复制到 100 台服务器上, 能够做成自动化的脚本吗? 程序自己输入 yes 及密码 ----------------------- 以下是精选回复-----------------------
答:感觉你需要的是 ansible
答:之前用 paramiko 做过类似的事情
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname, ssh_port, username=username, password=password)
transport = client.get_transport()
sftpClient = paramiko.SFTPClient.from_transport(transport)
# 传输
sftpClient.put(localpath, remotepath, callback=your_call_back)
client.close()
答:ssh 有参数忽略主机 key 认证,另外用密钥文件替代口令。
答:是可以的,不过你需要用 subprocess.Popen 去完成交互
答:paramiko 正解,如果不会,可以试试 robot 封装的[SSHLibrary]( http://robotframework.org/SSHLibrary/)
答:我之前研究了许久 fanric 是最佳解 其他都是垃圾
答:paramiko
答:把 a.txt 复制到 100 台服务器上, 这还不用 ansible ???
0条评论