Python 通过Robotframework SSH执行命令时出现权限问题
我正在尝试执行命令,使用robotframeworkssh在远程机器中创建数据库,这将抛出一个特权错误。但若我尝试在PUTTY应用程序上运行相同的命令,或者使用Paramiko库,它将无缝工作。如何解决此问题 首先,我尝试通过putty应用程序直接执行命令,它执行正确。但当我使用SSHLibrary在pythonshell中执行时,它将抛出以下错误Python 通过Robotframework SSH执行命令时出现权限问题,python,ssh,cygwin,robotframework,paramiko,Python,Ssh,Cygwin,Robotframework,Paramiko,我正在尝试执行命令,使用robotframeworkssh在远程机器中创建数据库,这将抛出一个特权错误。但若我尝试在PUTTY应用程序上运行相同的命令,或者使用Paramiko库,它将无缝工作。如何解决此问题 首先,我尝试通过putty应用程序直接执行命令,它执行正确。但当我使用SSHLibrary在pythonshell中执行时,它将抛出以下错误 from SSHLibrary import SSHLibrary # library from Robotframework ob=SSHLibr
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库,它将像putty应用程序一样正确执行。我想知道机器人图书馆怎么不工作。有人请帮我解决这个问题
注意:远程计算机是安装了cygwin以启用SSH的windows 我相信区别在于其他人有“终端会话”,而SSHLibrary没有,Cygwin在没有终端会话的情况下使用错误的用户运行命令。@AnttiHaapala是否有任何解决方案??IDK。我从来没有使用过Robot框架,Cygwin SSH上次使用IIRC是在十多年前。我有个预感^@AnttiHaapala非常感谢你给我留下关于这次会议的提示