Получение «необходимо запускать с терминала» при переключении на пользователя root с использованием модуля Paramiko в PyPython

Программы на Python
Гость
Получение «необходимо запускать с терминала» при переключении на пользователя root с использованием модуля Paramiko в Py

Сообщение Гость »


Я пытаюсь автоматизировать задачу с помощью скрипта Python. Идея состоит в том, чтобы войти в систему как обычный пользователь, а затем отправить команду su и переключиться на учетную запись root.

Причина, по которой я не могу напрямую войти в систему как root, заключается в том, что SSHD не разрешает вход в систему с правами root.

Вот что у меня есть:

Код: Выделить всё

ip='192.168.105.8'
port=22
username='xyz'
password='abc'
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip,port,username,password)
print ("SSH connection established")

stdin,stdout,stderr=ssh.exec_command('sudo fast.sh')
outlines=stdout.readlines()
outlines+=stderr.readlines()
resp=''.join(outlines)
print(resp)
Теперь я хочу отправить команду su и вывести пароль root. Я знаю, что это не очень хорошая практика, но мне нужен быстрый и простой способ проверить это, поэтому меня это устраивает.

Однако, когда я это делаю

Код: Выделить всё

stdin,stdout,stderr=ssh.exec_command('su')
and provide the password, I get an error


su: must be run from a terminal


Can some one help me to solve this.

I am running Python script on my Windows laptop to ssh into a Linux device and then switch to the root user using the su command and echo the password so that I can run other commands as root.

Thanks.


Источник: https://stackoverflow.com/questions/492 ... g-paramiko

Вернуться в «Python»