client.run_command: методы проверки подлинности не выполнены - PullRequest
0 голосов
/ 13 апреля 2020

пользователь "devuser" - это специальный пользователь, имеющий привилегию суперпользователя и соединение без пароля со всеми удаленными хостами с моего исходного хоста "dev1". Я могу выполнить любые команды на удаленном хосте, как показано ниже -

devuser@dev1:~> ssh remotehost 'uname'
Linux

Но я не могу использовать в моем скрипте python (через ParallelSSHClient), который выдает ошибку на этапе - "client.run_command", как показано ниже, Может кто-нибудь, пожалуйста, помогите мне здесь или предложите какой-нибудь обходной путь.

devuser@dev1:~> python3
Python 3.4.6 (default, Mar 01 2017, 16:52:22) [GCC] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os,sys
>>> from pssh.clients import ParallelSSHClient
>>> hosts = ['remotehost']
>>> client = ParallelSSHClient(hosts)
>>> output = client.run_command('uname')
Traceback (most recent call last):
  File "/usr/lib64/python3.4/site-packages/pssh/clients/native/single.py", line 192, in _init
    self.auth()
  File "/usr/lib64/python3.4/site-packages/pssh/clients/native/single.py", line 277, in auth
    self._identity_auth()
  File "/usr/lib64/python3.4/site-packages/pssh/clients/native/single.py", line 259, in _identity_auth
    raise AuthenticationException("No authentication methods succeeded")
pssh.exceptions.AuthenticationException: No authentication methods succeeded

Но я могу выполнить скрипт через свой собственный идентификатор пользователя, но не могу выполнить скрипт через
sudo -i -u devuser <script.py> -> это дает ошибка «Нет методов аутентификации завершена успешно». script.py имеет то же содержимое, что и выше. может кто-нибудь, пожалуйста, помогите мне здесь или предложите любой обходной путь

...