问题标签 [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.

0 投票
2 回答
4112 浏览

python - 从 python 发起 SSH 隧道的问题

目的是在卫星服务器和集中注册数据库之间建立 n 个 ssh 隧道。我已经在我的服务器之间设置了公钥身份验证,因此他们无需密码提示即可直接登录。怎么办 ?我试过帕拉米科。看起来不错,但仅仅建立一个基本的隧道就变得相当复杂,尽管代码示例会受到重视。我已经尝试过 Autossh,但它在建立一个工作隧道后 2 分钟就死了,奇怪!希望有人可以帮助我提供一个简单的代码片段,我可以使用 supervisord 或 monit 进行守护和监视。

0 投票
3 回答
3224 浏览

python - 如何将 EOF 发送到 paramiko 中的标准输入?

我想通过 ssh 执行一些程序并从文件中重定向它的输入。以下代码的行为:

应该等同于(假设公钥认证):

但是应用程序挂起等待更多输入。我认为这是因为标准输入流永远不会关闭。我怎么做?

0 投票
2 回答
1039 浏览

python - 为什么 Fabric 显示与服务器断开连接消息将近 2 分钟?

Disconnecting from username@server... done.每当我发出 fab 命令时,Fabric会显示近 2 分钟,然后才会显示新的命令提示符。

使用向内部服务器和 Rackspace 云服务器发出的 Fabric 命令时存在此问题。下面我包含了来自服务器的 auth.log,但我在 MacBook 上的日志中没有看到任何内容。

关于问题是什么的任何想法?

服务器的 SSH auth.log 与 LogLevel VERBOSE

服务器配置

  • 操作系统:Ubuntu 9.10 和 Ubuntu 6.10(用这些操作系统测试了 4 台服务器)
  • OpenSSH:Ubuntu 软件包版本 1.5.1p1-6ubuntu2

客户端配置

  • 操作系统:Mac OS X 10.6.3
  • 面料版本 0.9
  • 虚拟环境 1.4.7
  • 点子版本 0.7

用于测试的简单 fabfile.py

即使我只是fab -H server_ip host_type使用以下 fabfile 运行,问题仍然存在。

关于问题原因的思考

我不确定这个问题持续了多长时间,但以下是自从我开始注意到使用 Fabric 断开服务器连接速度慢以来发生的一些变化。

  1. 我使用 virtualenv 1.4.7、virtualenvwrapper 2.1 和 pip 0.7 重新创建了我的 virtualenv。不确定这是否相关,但这是一个想法,因为我从 virtualenv 中运行我的 fabfile。
  2. 我启用了 OS X 的防火墙。我禁用了 OS X 的防火墙,问题仍然存在,所以这不是问题。
0 投票
1 回答
2281 浏览

python - 以编程方式关闭 Paramiko 中的 SSH 隧道

我们正在尝试使用 paramiko 模块按需创建到任意服务器的 SSH 隧道,以查询远程数据库。我们尝试使用 paramiko 附带的 forward.py 演示,但最大的限制是似乎没有一种简单的方法可以在套接字服务器启动后关闭 SSH 隧道和 SSH 连接。

我们的限制是我们不能从 shell 激活它,然后手动终止 shell 以停止侦听器。我们需要打开 SSH 连接,隧道,通过隧道执行一些动作,关闭隧道,在 python 中关闭 SSH 连接。

我见过对 server.shutdown() 方法的引用,但不清楚如何正确实现它。

0 投票
4 回答
23409 浏览

python - Paramiko 和伪 tty 分配

我正在尝试使用 Paramiko 连接到远程主机并执行一些文本文件替换。

其中一些命令需要作为 sudo 运行,这会导致:

sudo:对不起,你必须有一个 tty 才能运行 sudo

我可以使用 -t 开关和 ssh 强制进行伪 tty 分配。

是否可以使用 paramiko 做同样的事情?

0 投票
12 回答
63737 浏览

python - 在 Windows 上安装 paramiko

这听起来像是一个关于 SF 的重复问题,但我还没有找到明确的答案。所以。我使用“setup.py install”命令安装了 Paramiko 1.7,在运行 demo.py 程序时,我收到了这个错误:

即使在安装 PyCrypto 2.1 之后,我也会收到此错误。在运行 test.py(安装附带)时,我收到以下错误 -

毕竟我没有信心继续安装 AES,因为我知道我可能会得到另一个 ImportError!请指教。是安装方式有问题吗?

0 投票
1 回答
542 浏览

python - 没有从 parmiko/ssh 命令获得输出

我正在使用 paramiko/ssh/python 尝试在远程服务器上运行命令。当我手动 ssh 并运行有问题的命令时,我得到了我想要的结果。但是如果我使用下面的python(从本网站的另一个线程中选择),则没有返回数据。如果我将命令修改为更基本的命令,例如“pwd”或“ls”,我就可以获得输出。任何帮助表示赞赏。

谢谢,马特

0 投票
2 回答
44799 浏览

python - 使用 Paramiko 在 SFTP 中“放入”

我已经安装并编写了以下无法放置文件的 Paramiko。它很容易“获取”一个文件并ls在其上执行命令。

使用“put”命令会给出以下错误和堆栈跟踪 -

我该如何克服呢?

0 投票
3 回答
8249 浏览

python - paramiko.SSHClient().exec_command 的转义参数

将字符串转义以安全用作命令行参数的最佳方法是什么?我知道 using可以解决subprocess.Popen这个问题 using list2cmdline(),但这似乎不适用于 paramiko。例子:

这会创建一个名为 literal 的文件foo;uptime,这正是我想要的。相比:

这将创建一个名为foo并打印远程主机的正常运行时间的文件。它已uptime作为第二个命令执行,而不是将其用作第一个命令的参数的一部分touch。这不是我想要的。

在发送到 之前和之后,我尝试用反斜杠转义分号list2cmdline,但最后我得到了一个名为foo\;uptime.

uptime此外,如果您使用带空格的命令而不是 ,则它可以正常工作:

这会创建一个文件,字面意思是foo;echo test因为list2cmdline用引号括起来。

另外,我试过pipes.quote()了,效果和list2cmdline.

编辑:为了澄清,我需要确保在远程主机上只执行一个命令,无论我收到什么输入数据,这意味着转义字符,如;,&和反引号。

0 投票
1 回答
17414 浏览

python - Paramiko SSH exec_command(shell 脚本)在完成前返回

我使用 Paramiko 从远程 Linux 机器启动一个 shell 脚本。启动 shell 脚本并执行命令make -j8。但是在exec_command制作完成之前返回。

如果我在本地机器上启动脚本,它会正确执行。

有人可以向我解释这种行为吗?