无法使用Ride-Robot-SSH库执行命令

时间:2019-05-28 04:50:06

标签: python ssh robotframework

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

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

手动,我尝试登录到服务器,然后提供sudo admin命令,然后执行命令集。

使用骑行-我正在使用“打开连接,执行命令”关键字

我能够使用用户名和密码登录到服务器,但是我无法执行命令。

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

我能够使用用户名和密码打开“连接并登录”。

Paramiko

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

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

1 个答案:

答案 0 :(得分:0)

每次Execute Command的调用都在新的外壳程序中-因此,第一个调用的sudo在第二个调用中不会影响用户。请参见keyword documentation,建议在那里使用WriteRead关键字,以确保同一shell中命令执行的连续性。

或者,您可以将两个调用合并为一个命令-sudo ... adsmon ...