Проблема с привилегиями при выполнении команды над Robotframework SSH - PullRequest
0 голосов
/ 22 декабря 2018

Я пытаюсь выполнить команду для создания БД на удаленной машине, используя Robotframework SSH, который выдаст привилегированную ошибку.Но если я попытаюсь выполнить ту же команду над приложением PUTTY или с помощью библиотеки Paramiko, она будет работать без проблем.Как я могу исправить эту проблему?

Сначала я попытался выполнить команду напрямую через приложение-замазку, и она выполняется правильно.Но когда я выполняю в Python Shell, используя SSHLibrary, он выдаст следующую ошибку.

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.Кто-нибудь, пожалуйста, помогите мне решить эту проблему ...

Примечание: На удаленном компьютере установлены Windows с Cygwin для включения SSH!

...