Автоматизируйте вход в систему суперпользователя в сценарии оболочки с жестким кодированием пароля

550
Dilshan

Мне нужно войти в консоль как суперпользователь через скрипт оболочки без ввода пароля. Пароль должен быть жестко запрограммирован в сценарии. ex sudo su psadmin (psadmin - мое имя пользователя).

0

1 ответ на вопрос

0
Eugen Rieck

Прежде всего: проверьте ваш поток управления, то, что вы хотите сделать, не очень хорошая идея.

Тем не менее, есть простой способ достичь того, что вы хотите, без жесткого кодирования PW: SSH для себя

  1. Настройте SSH, чтобы разрешить вход в систему root с localhost
  2. если еще не сделано, запустите ssh-keygen
  3. запустить ssh-copy-id root@localhost, теперь вы можете ssh в root без pw
  4. запустите ваш скрипт через sshroot@localhost /path/to/script

Опять же: я настоятельно советую не делать этого, может быть намного проще адаптировать ваш sudoersфайл, чтобы разрешить sudo /path/to/scriptбез PW

Согласно требованию я не могу сделать это, потому что у меня нет разрешения. Мне нужно запустить это (сценарий оболочки) на 12 серверах. Dilshan 7 лет назад 0
На самом деле я подключаюсь к серверу, используя ssh. Сначала я подключаюсь к мосту, а затем подключаюсь к серверу. После этого мне нужно войти в систему как sudo su psadmin. Это требование, которое у меня сейчас есть. Dilshan 7 лет назад 0
Поэтому ** один раз ** для каждого сервера вы входите вручную, запускаете `sudo -s` и настраиваете файл sudoers, чтобы НЕ запрашивать PW для` su`. С этого момента вы можете просто `ssh someuser @ somehost sudo su` без PW Eugen Rieck 7 лет назад 0