Использование «ожидаемого» безопасным способом для автоматизации входа в систему / удаленной работы - PullRequest
0 голосов
/ 07 апреля 2010

У меня есть сервер, с которым я не могу использовать предварительные общие ключи и ssh - вся аутентификация выполняется с помощью интерактивных подсказок.

На этом сервере также отключены cron и at для пользователей без полномочий root.

Я хотел бы иметь возможность cron на моем локальном компьютере выполнять задание, которое будет запускать сценарий на удаленном сервере для периодического обслуживания / создания отчетов.

Я набрался с expect некоторыми, но заметил, что для того, чтобы он автоматически вводил пароль в подсказку в нужное время, его нужно хранить в открытом тексте.

Есть ли способ защитить пароль таким образом, чтобы я вводил его один раз, затем он шифровал / что угодно локально (как это делает passwd), и тогда я не храню пароль в виде простого текста в самом скрипте?

Ответы [ 2 ]

2 голосов
/ 08 апреля 2010

Это очень небезопасно придерживаться аутентификации на основе пароля из-за того, что атаки на основе ботнетов могут притупить утилиту denyhosts.Но если вам нужно, вы должны ...

Что я сделаю, когда застряну в такой ситуации, поместу пароль в файл, отдельный от сценария, сделаю этот файл паролей доступным только для чтения мной икаталог, он находится только в читаемом (и исполняемом) мной.Я также позабочусь о том, чтобы пароль никогда не передавался в качестве аргумента или переменной среды;оба из них тривиально отслеживаются с ps.Передача имени файла пароля в порядке (можно защитить путь) и передача пароля через неназванный канал также безопасна.

2 голосов
/ 08 апреля 2010

Хранение паролей всегда небезопасно (если вам нужен доступ к паролю открытого текста).Ваш сценарий должен иметь логику «некодирования».Любой, у кого есть доступ для чтения к вашему сценарию, сможет выяснить, где хранится закодированный пароль и как его расшифровать.

Это вызов для вас.Что вы цените больше: автоматизация (чтобы сэкономить ваше время) или безопасность пароля?

...