Используя «ожидаю» в безопасной моде для автоматизации логинов / удаленной работы
-
25-09-2019 - |
Вопрос
У меня есть сервер, с которым я не могу использовать предварительно общие ключи и ssh
- Все аутентификация - через интерактивные подсказки.
Этот сервер также имеет cron
а также at
отключен для пользователей без root.
Я хотел бы быть в состоянии cron
Работа на моей локальной машине, которая запускает скрипт на удаленном сервере, чтобы сделать периодическое обслуживание / отчетность.
Я каталлил с expect
Некоторые, но заметили, что для того, чтобы он автоматизировал введение пароля в запрос в нужное время, его необходимо хранить в ClearText.
Есть ли способ закрепить пароль таким образом, чтобы я вводил его один раз, то он скисляется / что угодно (например, passwd
Делает), а потом я не сохраняющ пароль открытого текста в сам сценарий?
Решение
Это Очень небезопасно Чтобы придерживаться аутентификации на основе паролей, из-за атак на основе ботнет, способных оттупить полезность денихостей. Но если вы должны, вы должны ...
Что я сделаю, когда застрял в этой ситуации, помещают пароль в файл, отдельно от скрипта, сделайте этот файл паролей только читаемым мной, и сделать каталог, который он также находится только для читаемого (и исполняемых и исполняемых). Я также позабочусь о том, чтобы гарантировать, что пароль никогда не передается как аргумент или в переменной среды; оба из них тривиально неприятны с ps
. Отказ Передача имя файла паролей в порядке (может защищать путь) и пройти пароль через неназванную трубу также безопасно.
Другие советы
Сохранение паролей всегда неуверенно (если вам нужен доступ к паролю ClearText). Ваш сценарий должен иметь логику «ООН кодирования». Любой, кто имеет доступ к вашему сценарию, тогда сможет выяснить, где хранится кодированный пароль и как его подключить.
Это суждение для вас. Что вы больше цените: автоматизация (чтобы сохранить время) или безопасность пароля?