ssh войти в систему как пользователь и перейти в root без sudo - PullRequest
0 голосов
/ 10 января 2019

У меня есть следующая задача для моего кода golang:

  • Команда должна быть запущена от имени пользователя root на сервере удаленно в bash, а выходные данные команды должны быть извлечены в переменную.
  • Вход по ssh как root отключен.
  • sudo на сервере отключено, поэтому я должен использовать 'su -' и ввести пароль
  • , поскольку я хочу сделать это как можно более автоматизированным в bash, пароль должен храниться внутри команды

Вот действия рабочего процесса:

  1. Вход через SSH (как непривилегированный пользователь) на удаленный хост
  2. Повышение уровня привилегированного пользователя root -> su -
  3. Введите пароль пользователя root
  4. запустить команду, которую может выполнить root
  5. получить выход в строку на локальном хосте и выполнить некоторые действия

Я гуглил несколько дней, но, похоже, я не могу найти решение для этого. У кого-нибудь есть решение этого?

1 Ответ

0 голосов
/ 10 января 2019

Проблема, с которой вы сталкиваетесь, касается взаимодействия с командой после ее выполнения.

Довольно просто использовать exec.Command для неинтерактивных команд.

Я бы рекомендовал использовать Expect для взаимодействия или эквивалент Голанга, расположенный здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...