问题标签 [paramiko]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何在 Python 中进行 scp?
在 Python 中 scp 文件的最 Pythonic 方式是什么?我知道的唯一路线是
这是一种 hack,在类 Linux 系统之外无法使用,并且需要 Pexpect 模块的帮助以避免密码提示,除非您已经为远程主机设置了无密码 SSH。
我知道 Twisted's conch
,但我宁愿避免自己通过低级 ssh 模块实现 scp 。
我知道paramiko
,一个支持 SSH 和 SFTP 的 Python 模块;但它不支持SCP。
背景:我连接到一个不支持 SFTP 但支持 SSH/SCP 的路由器,所以 SFTP 不是一个选项。
编辑:这是如何使用 SCP 或 SSH 将文件复制到 Python 中的远程服务器的副本?. 但是,该问题并没有给出处理 Python 中键的特定于 scp 的答案。我希望有一种方法来运行类似的代码
python - 抑制 Paramiko SSHClient 类的输出
当我调用 ParamikoSSHClient
类的 connect 函数时,它会输出一些关于建立连接的日志数据,我想抑制这些数据。
有没有办法通过 Paramiko 本身或一般的 Python 来做到这一点?
python - 在 Paramiko 中运行交互式命令
我正在尝试通过 paramiko 运行交互式命令。cmd 执行尝试提示输入密码,但我不知道如何通过 paramiko 的 exec_command 提供密码并且执行挂起。如果 cmd 执行需要交互输入,有没有办法将值发送到终端?
有谁知道如何解决这个问题?谢谢你。
python - 为什么在加载模块时使用 Paramiko 会挂起?
将以下内容放入文件hello.py(easy_install paramiko
如果你还没有的话):
适当填写第一行。
现在输入
你会看到一些 ls 输出。
现在改为输入
然后从解释器类型中
瞧!它挂了!如果您将代码包装在一个函数中foo
并import hello; hello.foo()
改为执行,它将取消挂起。
为什么 Paramiko 在模块初始化中使用时会挂起? Paramiko 是如何知道它在模块初始化期间首先被使用的?
python - python paramiko 模块中长时间运行的 ssh 命令(以及如何结束它们)
我想tail -f logfile
使用 python 的 paramiko 模块在远程机器上运行命令。到目前为止,我一直在尝试以下方式:
我希望命令在必要时运行,但我有两个问题:
- 我该如何干净地停止这个?我想制作一个频道,然后在完成后使用频道
shutdown()
上的命令-但这似乎很混乱。是否可以执行类似发送Ctrl-C
到频道的标准输入的操作? readline()
块,如果我有一种获取输出的非阻塞方法,我可以避免使用线程——有什么想法吗?
python - 使用 paramiko 检查远程主机上是否存在路径
Paramiko的SFTPClient显然没有exists
方法。这是我目前的实现:
有一个更好的方法吗?检查异常消息中的子字符串非常难看,而且可能不可靠。
python - 在 Windows 上安装 Paramiko 时,我在哪里可以找到 Python Crypto 包?
我正在尝试从在 Windows 上运行的 Python 进行 SFTP,并按照此处的建议安装了 Paramiko。不幸的是,它要求 Crypto.Util.randpool 所以我需要安装 Crypto 包。我找到了适用于 Linux 的 RPMS,但找不到任何东西或适用于 windows 的源代码。
Paramiko 的自述文件指出:为 Win32 编译的 pycrypto 可以从 HashTar 主页下载: http ://nitace.bsd.uchicago.edu:8080/hashtar 。
不幸的是,该链接不起作用。PCrypto 主页上的链接也没有。
知道如何克服这个问题吗?
python - 用于身份验证类型的 paramiko 中的 get_allowed_auths()
我正在尝试从 Python 中正在运行的 SSH 服务器获取受支持的身份验证类型/方法。
我在 Paramiko 的 ServerInterface 类中找到了这个方法 get_allowed_auths() 但我不明白它是否可以在一个简单的类似客户端的代码片段中使用(我正在写一些只在这个任务中完成的东西)。
任何人都可以建议我一些示例链接,其他分发文档?也许还有其他想法可以做到这一点?
谢谢。
python - 使用 Python 使用 SSH 从服务器读取文件
我正在尝试使用 Python 中的 SSH 从服务器读取文件。我正在使用 Paramiko 进行连接。我可以连接到服务器并运行类似的命令cat filename
并从服务器取回数据,但我尝试读取的一些文件大小约为 1 GB 或更大。
如何使用 Python 逐行读取服务器上的文件?
附加信息:经常做的是运行一个cat filename
命令并将结果存储在一个变量中并解决它。但是由于这里的文件很大,我正在寻找一种方法来逐行读取服务器上的文件。
编辑:我可以读取一堆数据并将其分成几行,但问题是缓冲区中接收到的数据并不总是包含完整的行。例如,如果缓冲区有 300 行,则最后一行可能只是服务器上行的一半,而下一半将在下一次调用服务器时获取。我想要完整的线条
编辑 2:我可以使用什么命令在某个范围内的文件中打印行。就像打印前 100 行,然后打印下 100 行等等?这样缓冲区将始终包含完整的行。
python - 解决 paramiko 上的线程清理问题
我有一个使用 paramiko 的自动化过程并出现此错误:
我知道这是清理/线程中的一个问题,但我不知道如何解决它。
我有最新版本(1.7.6),根据这个线程,它已经解决了,所以我直接下载了代码,但仍然得到错误。
失败发生在winxp/win2003下的Python 2.5/2.6。
我在__del__
析构函数中关闭了连接,然后在脚本结束之前关闭它,这些都不起作用。还有更多,使用这个错误发生得更早,所以可能与解释器关闭无关?