Войти удалено в режим суперпользователя на Debian 10 с помощью pexpect/pxssh python
Нужно с помощью языка Python удаленно по ssh поменять на ОС Debian 10 ip-адрес.
Решил сделать это через pexpect/pxssh, но чтобы изменить ip-адрес, нужно войти в режим суперпользователя через su и ввести пароль.
Как реализовать ввод пароля через скрипт?
Вот мой код:
from pexpect import pxssh
try:
s = pxssh.pxssh()
hostname = '192.168.1.1'
username = 'user'
password = 'root'
s.login(hostname, username, password)
s.sendline('uptime')
s.prompt()
print(s.before)
s.sendline('su')
s.prompt()
print(s.before)
s.sendline('sudo ifconfig ens33 192.168.1.14 netmask 255.255.255.0')
s.prompt()
print(s.before)
except pxssh.ExceptionPxssh as e:
print("pxssh failed on login.")
print(e)
Ответы (1 шт):
Автор решения: Exord
→ Ссылка
Попробуйте так:
from pexpect import pxssh
psswd = 'ur psswd'
try:
s = pxssh.pxssh()
hostname = '192.168.1.1'
username = 'user'
password = 'root'
s.login(hostname, username, password)
s.sendline('uptime')
s.prompt()
print(s.before)
s.sendline('su')
s.prompt()
print(s.before)
s.sendline(psswd)
s.prompt()
print(s.before)
s.sendline('sudo ifconfig ens33 192.168.1.14 netmask 255.255.255.0')
s.prompt()
print(s.before)
except pxssh.ExceptionPxssh as e:
print("pxssh failed on login.")
print(e)