首页 > 解决方案 > 无法使用 Ride-Robot-SSH 库执行命令

问题描述

我正在探索为我的项目使用 RIDE-Robot 框架的选项。在这里,我使用的是 SSH 库。

我正在尝试登录我的服务器,然后尝试执行一些命令

手动,我试图登录到服务器,然后给出一个 sudo admin 命令,然后执行命令集。

使用 Ride- 我正在使用 Open Connection,Execute Command 关键字

我可以使用用户名和密码登录服务器,但无法执行命令。

你能帮我理解如何执行命令吗?

我可以使用用户名和密码打开连接和登录。

帕拉米科

import paramiko    

from paramiko import SSHClient

ssh = SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect('10.184.59.41', username='******', password='*******')

shell=ssh.invoke_shell()

shell.settimeout(0.5)

ssh.exec_command("sudo -u tradmin -E bash")

ssh.exec_command("/ThomsonReuters/apps/hillfarber")

******骑******

Open Connection    10.184.59.41
Login    ${username}    ${password}
Execute Command    sudo - u tradmin -E bash
${stdout}=     Execute Command     /ThomsonReuters/tools/bin/adsmon -key 29 -get IDBFeed  c205xcmpdfh01.ECP_TUL.IDBFeed.IDBFeed PageCount

无法执行命令,不显示错误

标签: pythonsshrobotframework

解决方案


的每次调用Execute Command都在一个新的 shell 中 - 因此第一个调用sudo不会影响第二个的用户。请参阅关键字文档,建议在同一 shell中使用Write和关键字来保持命令执行的连续性。Read

或者,您可以将这两个调用组合在一个命令中 - sudo ... adsmon ....


推荐阅读