【发布时间】:2015-05-14 13:37:40
【问题描述】:
我有命令行程序提示密码:
> cwrsync root@NN.NN.NN.NN:/src /cygdrive/c/dst
输出(当我从 cmd.exe 命令行运行它时):
root@NN.NN.NN.NN's password:
当我手动输入密码时,一切正常。输出:
skipping directory src
我想从命令行或python脚本自动为其提供密码。
我试过了:
一个。从命令行:
> echo pass|cwrsync -r root@NN.NN.NN.NN:/src /cygdrive/c/dst
不工作。输出:
root@NN.NN.NN.NN's password:
两个。来自 python 脚本。测试.py:
import subprocess
cmd = "cwrsync -r root@NN.NN.NN.NN:/src /cygdrive/c/dst"
proc = subprocess.Popen(cmd1, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE, shell=True)
std1, std2 = proc.communicate("pass")
print std1print std2
不工作。输出:
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(235) [Receiver=3.1.1]
【问题讨论】: