Форум сайта python.su
remoshka
говорят же вам, что НЕТ sudo на серверах.
remoshka
а потом осуществляется переход на рут.
Офлайн
Отредактировано Rodegast (Сен. 29, 2015 12:37:42)
Офлайн
Rodegastокей, сделайте это на питоне и покажите. зайдите на удаленный шелл под юзером и с помощью su root -c ‘id’ выполните id и запишите в переменную выхлоп id. НА python, а не на bash
Отредактировано remoshka (Сен. 29, 2015 13:59:39)
Офлайн
> НА python, а не на bash
Офлайн
На такой вопрос во втором же посте должно было прилететь что то типа “используй paramiko” :)
Офлайн
Rodegastеще раз:
> НА python, а не на bash
Офлайн
remoshka
еще раз:
1) залогинся под юзером
2) выполни su root -c ‘id’
3) впоймай результат
4) запости сюда
import pxssh import getpass try: s = pxssh.pxssh() hostname = raw_input('hostname: ') username = raw_input('username: ') password = getpass.getpass('password: ') root_password = getpass.getpass('root password: ') s.login(hostname, username, password) s.sendline('su -') # run a command s.prompt() # match the prompt s.sendline(root_password) s.prompt() print(s.before) # print everything before the prompt. s.sendline('ls') s.prompt() print(s.before) s.sendline('exit') s.prompt() s.logout() except pxssh.ExceptionPxssh as e: print("pxssh failed on login.") print(e)
Отредактировано i.slepov (Сен. 29, 2015 16:19:57)
Офлайн
> На такой вопрос во втором же посте должно было прилететь что то типа “используй paramiko”
Во втором же посте должно было быть написано “иди на гугл”.
Самая первая ссылка по запросу “python ssh”: http://habrahabr.ru/post/150047/
Офлайн
я с peexpect пробовал работать.
s.sendline('ls')
s.prompt()
print(s.before)
печатает результат вместе с промпт bash'a. И кстати да, ваш экземпл таки не работает. И еще там не реализована работа по ссш же
Офлайн
А зачем вообще весь этот марлезонский балет? Я всегда ставлю PermitRootLogin в without-password и пробрасываю ключ.
Офлайн