问题标签 [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 投票
8 回答
99376 浏览

python - 如何在 Paramiko 的单个会话中执行多个命令?(Python)

在 paramiko 中执行命令时,它总是在您运行 exec_command 时重置会话。当我运行另一个 exec_command 时,我希望能够执行 sudo 或 su 并且仍然拥有这些权限。另一个示例是尝试 exec_command("cd /") 然后再次运行 exec_command 并将其放在根目录中。我知道您可以执行类似 exec_command("cd /; ls -l") 的操作,但我需要在单独的函数调用中执行此操作。

0 投票
1 回答
10089 浏览

python - 如何以编程方式输入 telnet 的转义字符?

我正在使用 paramiko ssh 进入远程机器,到目前为止这似乎工作正常

client.connect(hostname, port=ssh_port, username=username, key_filename=key_fname, password=password)

现在从远程机器我需要更深入,并使用

stdin, stdout, stderr = client.exec_command('telnet localhost %d'%port)

似乎给了我正确的句柄来开始使用stdin.write

我的问题是,当我完成后,我不知道如何正确退出 telnet。如果我手动操作,我可以进入 telnet,我看到: Escape character is '^]'. 我可以Ctrl+]在键盘上使用,然后会弹出一个小菜单说

然后我可以按'e'退出(它会立即退出,不需要'enter'键)

但是当我尝试在我的脚本中执行此操作时,通过stdin.write('^]e')stdin.write('\^]e')stdin.write('\c]e')stdin.write('\M-\C-]e')等。我一直看到stdout.read()我的脚本已经按字面意思输入了这些字符。time.sleep(0.1)]and之间放一点e似乎没有帮助。

如何以编程方式输入该转义序列?

0 投票
4 回答
654 浏览

python - python处理SSH [许多客户端]

我管理 3 台服务器 [Linux],我必须每 6 小时打开这些服务器上的脚本

所以登录每个都需要一点时间..所以我做了这个代码

好吧,它效果不佳;(我想输入每个脚本并运行脚本并转到另一台服务器而不关闭连接或终止脚本,所以请帮助我。

编辑后

现在我编辑它,我遇到了新问题

我将此添加到我的代码中:

我给每一个不同的命令看看它是否有效,我得到了非常奇怪的输出

['Linux xxxx 2.6.18-028stab070.14 #1 SMP Thu Nov 18 16:04:02 MSK 2010 x 86_64 x86_64 x86_64 GNU/Linux\n'] ['Linux xxxx 2.6.18-028stab070.14 #1 SMP Thu Nov 18 16:04:02 MSK 2010 x 86_64 x86_64 x86_64 GNU/Linux\n'] [] [] [] []

我说第一台服务器执行命令uname -a,第二台服务器执行命令,ls -la但是它将它们一起提供了相同的命令第三台服务器不执行任何操作

0 投票
3 回答
1200 浏览

python - 由于脚本执行时间,Paramiko 块中的命令

大家好,我有三台服务器,我从 SSH 管理它,所以我制作了这个脚本来运行我的注册脚本“Register.py”,所以我每天都打开注册模式,所以问题是我如何在不关闭另一个的情况下登录到多个 SSH 连接

所以我必须做什么才能在不停止脚本的情况下打开 3 个会话!

0 投票
1 回答
1524 浏览

python - 你如何处理 paramiko 中出现的错误?(Python)

我想知道在尝试连接到 ssh 服务器时如何处理 paramiko 引发的错误?

0 投票
1 回答
1230 浏览

python - 为什么 paramiko 不能运行这个命令?(Python)

我可以使用 paramiko 的 exec_command 来执行cat, grepand ls,但是每当我尝试修改文件时它什么都不做。在这之前我已经跑su了。该文件与运行该命令之前的文件完全相同。

0 投票
7 回答
53112 浏览

python - 如何使用 Paramiko 运行 sudo?(Python)

我试过的:

  1. invoke_shell()然后channel.send su再发送密码导致不是root
  2. invoke_shell()然后channel.exec_command导致“通道关闭”错误
  3. _transport.open_session()然后channel.exec_command导致不是root
  4. invoke_shell()然后写入标准输入并刷新它导致不是root
0 投票
1 回答
3767 浏览

python - Paramiko 和 Crypto 导入错误:import winrandom (python)

在 Windows 机器 python 2.7 上运行时,每当我尝试使用命令行运行我的脚本时,我都会收到以下错误。

但是当我通过 python IDE 运行我的脚本时不会发生这个错误

0 投票
1 回答
518 浏览

python - 使用 python paramiko 包同时与多台服务器建立连接

我想将文件从服务器 A 直接传输到服务器 B。执行此操作的脚本驻留在其他服务器上,例如 C。如何在不将文件临时保存在服务器 C 或本地系统上的情况下实现它。

0 投票
1 回答
7371 浏览

python - Paramiko 身份验证验证(原来是 Python 异常处理)

我正在用 Python 编写一个脚本,该脚本使用 Paramiko 从 Cisco 路由器中提取配置以进行 SSH 连接。我还试图让它验证设备的登录凭据是否正确而不会失败。

现在,如果凭据正确,代码将连接并运行我想要的命令。伟大的!但是,如果我输入错误的凭据,脚本将失败并出现身份验证错误。

编码:

一旦我启动了程序并输入了错误的凭据,这就是输出。

paramiko.AuthenticationException:身份验证失败。

我知道凭据错误,但我不希望脚本失败,我希望它显示问题并继续运行脚本的其余部分。

有任何想法吗?