При подключении к оборудованию вручную, как правило, пароль также вводится вручную.
При автоматизации подключения надо решить, каким образом будет передаваться пароль:
Как правило, один и тот же пользователь использует одинаковый логин и пароль для подключения к оборудованию.
И, как правило, будет достаточно запросить логин и пароль при старте скрипта, а затем использовать их для подключения на разные устройства.
К сожалению, если использоватьinput()
, набираемый пароль будет виден. А хотелось бы, чтобы при вводе пароля вводимые символы не отображались.
Модуль getpass позволяет запрашивать пароль, не отображая вводимые символы:
In [1]: import getpass In [2]: password = getpass.getpass() Password: In [3]: print(password) testpass
Еще один вариант хранения пароля (а можно и пользователя) - переменные окружения.
Например, таким образом логин и пароль записываются в переменные:
$ export SSH_USER=user $ export SSH_PASSWORD=userpass
А затем в Python считываются значения в переменные в скрипте:
import os USERNAME = os.environ.get('SSH_USER') PASSWORD = os.environ.get('SSH_PASSWORD')