Итак, у меня есть сценарий, который нужно запускать удаленно как root. Это не проблема для большинства дистрибутивов Linux, поскольку у них есть учетная запись root. Но поскольку Ubuntu этого не делает, выполнение чего-либо от имени root требует двухэтапного процесса ввода пароля учетной записи дважды - один раз для входа в систему и один раз для sudo. Процесс SSH для запуска скрипта автоматизирован, поэтому он не может приостанавливаться для ввода пользователем второго запроса пароля.
Кто-нибудь знает, кроме взлома Ubuntu для повторного включения root (не вариант), если возможно автоматическое выполнение сценария SSH с привилегиями суперпользователя на целевой машине? Кроме того, не имея опыта работы с Debian, ведет ли себя Debian так же?
Это не проблема для большинства дистрибутивов Linux, поскольку у них есть учетная запись root. Но поскольку Ubuntu не
Это серьезный приговор? Я еще не видел ни одной системы * nix без root
учетная запись.
sudo su
а вы root. После этого используйте passwd
для установки пароля root. И БАМ! вы можете войти в систему как root (но только если вы включите RootLogin в ssh)!
ОБНОВЛЕНИЕ: Или используйте ключи ssh, как предлагали другие.
Вы можете использовать ssh только с использованием аутентификации на основе ключей, а затем отредактировать файл sudoers, чтобы не требовать пароль. Это удалит пароль на двух описанных вами шагах.
Чтобы увидеть доступ по ssh на основе ключа ssh:
ssh-keygen
ssh-copy-id dest-server
И для файла sudoers:
sudo visudo -f /etc/sudoers
#uncomment the following and then add yourself to the sudo group
# %sudo ALL=NOPASSWD: ALL
Лучше было бы не запрашивать пароль для sudo только для команд, необходимых для автоматизации этой конкретной функции. Смотрите мой ответ Вот для этого.
Ссылки:
Настройка пользователя без пароля
Как настроить ssh для аутентификации с использованием ключей вместо имени пользователя / пароля?
По умолчанию возможно подключение с учетной записью root. Вам просто нужно настроить ключи ssh для учетной записи root. Добавьте свой открытый ключ в /root/.ssh/authorized_keys
Вы также можете создать учетную запись службы для входа с настройкой sudo с NOPASSWD.
serviceaccount ALL = NOPASSWD: ALL
В Debian по умолчанию для учетной записи root будет назначен пароль во время установки. Хотя, если вы используете установщик экспертного режима, вы можете выбрать вариант, который отключит учетную запись root и настроит sudo точно так же, как Ubuntu. Я настоятельно предпочитаю отключенную учетную запись root, потому что у нас много администраторов, и я хочу, чтобы люди входили в систему как они сами, а затем использовали sudo для выполнения задач администратора, чтобы был создан журнал действий root.