通过Robotframework SSH执行命令时出现权限问题

时间:2018-12-22 06:06:07

标签: python ssh cygwin robotframework paramiko

我正在尝试使用Robotframework SSH执行命令以在远程计算机中创建数据库,这将引发特权错误。但是,如果我尝试在PUTTY应用程序上运行同一命令或使用Paramiko库,它将无缝运行。我该如何解决这个问题?

首先,我尝试直接通过腻子应用程序执行命令,并且命令执行正常。但是当我使用SSHLibrary在python Shell中执行时,将引发以下错误。

from SSHLibrary import SSHLibrary # library from Robotframework
ob=SSHLibrary()
ob.open_connection("192.168.5.10")
ob.login("Administrator","Password")
print ob.execute_command("db2 create db test7")

输出将为::

u'SQL1092N  The requested command or operation failed because the user ID 
does \r\r\nnot have the authority to perform the requested command or 
operation.  User \r\r\nID: "LOCAL SERVICE".\r\r'

如果我直接使用paramiko库执行上述命令,它将成功创建数据库 这是工作代码:

import paramiko
c=paramiko.Transport(('192.168.5.10',22))
c.connect(username='Administrator',password='Password')
sess=c.open_channel(kind='session')
sess.exec_command('db2 create db test7')
print sess.recv(4096)

输出将是:

DB20000I  The CREATE DATABASE command completed successfully.

尽管 SSHLibrary内部依赖于paramiko 库,但它无法执行命令。但是,如果我直接使用paramiko库,它将像腻子应用程序一样正确执行。我想知道它如何不能从Robot SSHLibrary中使用。有人请帮助我解决此问题...

注意:远程计算机是安装了cygwin的Windows,用于启用SSH!

0 个答案:

没有答案