- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Paramiko(新手)连接到 Linux 服务器。我能够连接到服务器并执行不同的命令(例如“ls”、“正常运行时间”)并读取结果。但是,当尝试执行“sudo -iu”命令(不需要密码)时,Paramiko 挂起。这是相关的代码行:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy (paramiko.AutoAddPolicy())
sh.connect (server, username='aaaa', password= 'bbbbb', key_filename='C:\\Users\\aaaa\\Documents\\paramiko_dsa_key')
stdin, stdout, stderr = ssh.exec_command("sudo -iu aaauser")
#stdin, stdout, stderr = ssh.exec_command("uptime")
print stdout.read()
请注意,使用已知的 SSH 工具(例如 Xshell)运行这些命令没有问题。
提前致谢,塔尔
最佳答案
Paramiko 悬挂正是预期的结果。当您执行 sudo -i
时,会生成一个新的 shell,当前的 shell 会进入 I/O,等待新生成的 shell 退出,此时控制权将返回给 Paramiko。
因此,运行 sudo -i
永远不会导致输出到 stdout,因此您的循环将陷入 I/O 等待状态,并因此挂起,正如您目前所经历的那样。 sudo -i
不应该在脚本中使用,它应该只用于交互式 shell。
你有两个选择:
aaauser
登录并首先避免此问题。sudo
执行每个命令。关于python - paramiko exec_command "sudo -iu"挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44094850/
我得到了以下 ssh 命令, try: print 'trying to restart' self.ssh.exec_command(RR_CMD % (se
这个问题已经有答案了: Paramiko with continuous stdout (2 个回答) 已关闭 2 年前。 注意:我看过其他关于此问题的帖子,但没有一篇帖子可以解释答案,也没有一个有效
设置:paramiko 1.15.1根据文档,从 1.10.0 开始为 exec_command 创建了超时,但由于某种原因它对我不起作用。我的代码中是否有我遗漏的错误,或者它实际上是一个错误? 我有
这个问题在这里已经有了答案: Get output from a Paramiko SSH exec_command continuously (6 个答案) 关闭 2 年前。 我在 Python
我的 Python 脚本使用 Paramiko 库的 exec_command 函数通过 ssh 运行远程命令。为了测试此命令的 timeout 选项,我发送了一个不执行任何操作的循环,并验证 exe
这个问题在这里已经有了答案: Command executed with Paramiko does not produce any output (1 个回答) 关闭 2 年前。 我正在使用 pa
我需要通过 ssh.exec_command() 模拟执行一些远程命令它返回元组 (stdin, stdout, stderr) 作为 paramiko.ChanelFile 对象。 因此,我将命令输
我正在尝试使用 Paramiko 通过 SSH 连接到 Brocade 交换机并执行远程命令。代码如下: def ssh_connector(ip, userName, passWord, comma
我有一个 python 脚本,我正在尝试安装 rpm 包,但是当我发送安装命令时,它不会等待命令完成就重新启动服务。我读过很多关于使用 recv_exit_status() 的论坛,但我认为我没有正确
将字符串转义为安全用作命令行参数的最佳方法是什么?我知道使用 subprocess.Popen 会使用 list2cmdline() 来解决这个问题,但这似乎对 paramiko 不起作用。示例: f
我正在使用 Python 的 Paramiko 模块通过 SSH 连接到远程机器,并使用 Tar/ZIP 压缩一个包含大量文件(超过 14K 文件和 60+g 数据)的文件夹。生成的 zip 本身大约
我是 paramiko 的新用户,在使用 paramiko 的远程服务器上运行命令时遇到困难。我想导出路径并在后台运行一个名为 tophat 的程序。我可以使用 paramiko.sshclient(
我正在使用 Paramiko tail -f 远程服务器上的文件。 以前,我们通过 ssh -t 运行它,但事实证明这很不稳定,-t 导致我们的远程调度系统出现问题。 我的问题是当脚本捕获到 SIGI
我正在使用 Paramiko(新手)连接到 Linux 服务器。我能够连接到服务器并执行不同的命令(例如“ls”、“正常运行时间”)并读取结果。但是,当尝试执行“sudo -iu”命令(不需要密码)时
这个问题已经有答案了: Some Unix commands fail with " not found", when executed using Python Paramiko exec_comm
我使用 Paramiko 的 exec_command如下在服务器上运行后台命令: client.exec_command('test > /dev/null 2 > &1 &') 但是我无法通过'p
我是 Paramiko 的新手。我正在尝试创建一个简单的脚本,允许任何人使用他们的 Linux 凭据来运行命令。我决定使用简单的 ls 命令进行测试,但我收到了错误。 import paramiko
背景:我正在使用 python 和 paramiko 来自动化我每次必须为类(class)提交程序时所经历的过程。我们使用名为“handin”的命令来提交源代码,但这必须在学校计算机上完成。所以当我从
我使用 Paramiko 从远程 Linux 机器启动一个 shell 脚本。启动 shell 脚本并执行命令 make -j8。但是 exec_command 在 make 完成之前返回。 如果我在
我正在使用 paramiko 在远程机器上通过 ssh 执行一个长时间运行的 python 脚本。工作起来很有魅力,到目前为止没有问题。 不幸的是,stdout(分别为 stderr)仅在脚本完成后显
我是一名优秀的程序员,十分优秀!