gpt4 book ai didi

python - 从命令行运行程序提示密码并自动为其提供密码(cmd.exe,python)

转载 作者:可可西里 更新时间:2023-11-01 11:50:48 26 4
gpt4 key购买 nike

我有提示密码的命令行程序:

> 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]

最佳答案

面向安全的程序在直接 io 上询问密码而不是读取标准输入是很常见的。作为:

echo pass|cwrsync -r root@NN.NN.NN.NN:/src /cygdrive/c/dst

询问密码,我假设 csrsync 直接从控制台读取。

在那种情况下,如果没有一些工作和低级编程,您就无法将其自动化,因为您将不得不模拟键盘操作。您应该改为搜索文档,因为看起来它使用底层 ssh,它很可能接受公钥对。如果它接受一个没有密码的密码,您应该能够将其自动化。

关于python - 从命令行运行程序提示密码并自动为其提供密码(cmd.exe,python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30238840/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com