Уведомления

Группа в Telegram: @pythonsu

#1 Март 5, 2018 16:05:16

valloru
Зарегистрирован: 2018-02-26
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по get_accounts_from_file

Добрый день!
Решил остановиться на get_accounts_from_file, создал файл.cfg, но при попытке подключения к оборудованию выдает ошибку:

Traceback (most recent call last):
File “C:<>.py”, line 14, in <module>
con.login(account)
File “C:<>\protocol.py”, line 671, in login
with self._get_account(account) as account:
File “C:\<>\protocol.py”, line 647, in _get_account
account.__enter__()
AttributeError: ‘list’ object has no attribute ‘__enter__’

Сам код для подключения:
account = get_accounts_from_file('accounts.cfg') # если здесь в явном виде прописать login/password все работает прекрасно
con = SSH2()
con.connect(l.strip()) #берем ip для подключения из файла
con.login(account)
con.execute('')

Есть у кого идеи что не так?

Офлайн

#2 Март 5, 2018 19:41:08

papuas
Зарегистрирован: 2015-06-19
Сообщения: 159
Репутация: +  6  -
Профиль   Отправить e-mail  

Вопрос по get_accounts_from_file

покажите ‘accounts.cfg’
версию python


УМВР на ubuntu 14.04

Prerequisites
Exscript requires Python 2.7, and the following modules:

future
configparser
pycryptodomex
paramiko>=1.17

Отредактировано papuas (Март 5, 2018 19:56:50)

Офлайн

#3 Март 6, 2018 09:50:15

valloru
Зарегистрирован: 2018-02-26
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по get_accounts_from_file


account-pool # в квадратных скобках, но почему то на форуме они не отображаются
cisco = Y2lzY28=

Python 3.6.1

Exscript в принципе работает нормально, единственный нюанс только с чтением логина\пароля из файла

Отредактировано valloru (Март 6, 2018 09:52:03)

Офлайн

#4 Март 6, 2018 14:15:14

papuas
Зарегистрирован: 2015-06-19
Сообщения: 159
Репутация: +  6  -
Профиль   Отправить e-mail  

Вопрос по get_accounts_from_file

.login() - ожидает инстанс Account('user', ‘password’), а вы пытаетесь передать список

 [Account(), Account()]
тут про это написано
т.е. если используете
 accounts = get_account_from_file('accounts.cfg')
accounts
[<Exscript.account.Account object at 0x000001610668DD68>, <Exscript.account.Account object at 0x00000161066C7588>]
юзайте
 from Exscript.util.start import start
start(accounts, hosts, do_something)
ну или
 for account in accounts:
    conn.login(account) 
хотя думаю, что такой метод лучше не использовать…
потому как start() сделали как раз для этого и он ожидает list.

вам должны быть интересны стр. 16-18,55

Отредактировано papuas (Март 6, 2018 14:32:53)

Офлайн

#5 Март 6, 2018 14:30:44

valloru
Зарегистрирован: 2018-02-26
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по get_accounts_from_file

papuas, спасибо большое, то что нужно

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version