Я нанял удаленного консультанта для настройки моих серверов. Теперь я не уверен на 100% в том, чтобы дать ему пароль root и позволить ему делать все, что он хочет, на серверах. В идеале я хочу видеть все, что он делает с моими серверами (в режиме реального времени), а также найти способ не передавать ему пароль root.
Существуют ли передовые практики, позволяющие удаленному консультанту получить доступ к вашему серверу?
РЕДАКТИРОВАТЬ: Чтобы уточнить, я хочу сделать какой-то экран обмена с консультантом. Есть ли способ, с помощью которого его команды проходят через мою учетную запись, и он никогда не получал пароль?
PS: мои серверы на Ubuntu 9.10
Ответы:
Вы можете позволить ему соединиться с обычной учетной записью, а затем отслеживать его сеанс SSH . На мой взгляд, решение на основе экрана является лучшим и позволит вам выполнять «парное» системное администрирование. Например, он мог вводить команды sudo, и вы вводите пароль в случае необходимости.
PS Если вы используете экран, это не значит, что вы не должны также использовать sudosh2 или другие решения.
источник
Вместо предоставления ему пароля root, используйте sudo.
Если вы хотите видеть все, что он делает в режиме реального времени как суперпользователь, посмотрите sudosh2 . Из документов:
«Все нажатия клавиш» включают в себя нажатия клавиш из возврата, удаления символов, «стирания слова» BASH и т. Д. Вы можете наблюдать за чьими-то смущающими опечатками и исправлениями и т. Д.
sudosh будет поддерживать системный журнал, и вы можете отправить журналы на удаленный сервер системного журнала. Это гарантирует, что пользователь не сможет стереть все копии журналов аудита.
Обратите внимание, что оригинальный проект sudosh (первая версия) был заброшен его автором. sudosh2 жив и здоров.
источник
Это действительно зависит от того, какой уровень доступа вы хотите дать ему / ей. Я бы никогда не включил удаленный вход в систему с правами root. Только «нормальные» учетные записи должны иметь удаленный доступ, затем настройте sudo для всего, что нужно этому человеку.
источник
sudo
доступ к определенным командам, напримерВо-первых, вы должны иметь четко определенные цели для того, что бы вы хотели, чтобы он делал. После определения этих целей вы можете предоставить ему уровень доступа, необходимый для достижения этих целей.
Это все равно, что бросить мою машину в ремонтной мастерской и сказать им «починить». Следующее, что вы знаете, у меня есть счет на тысячи долларов, и они сделали то, чего я не хотел и не просил.
источник
Я добавляю другой, другой ответ в ответ на ваше обновление.
Используя экран GNU, вы можете поделиться экраном с другим пользователем. Это означает, что он может печатать команды, и вы видите все, что он печатает. Вы можете вводить команды, и он может видеть, что вы печатаете. Когда ему предлагается ввести пароль, вы можете ввести пароль, но содержимое пароля не выводится на экран (Примечание: хотя текст не выводится на экран, я не уверен, сможет ли другой пользователь получить доступ на ваши нажатия клавиш другим способом, или иметь доступ к буферу нажатия клавиш и т. д.).
Более подробная информация на http://www.debian-administration.org/article/Using_GNU_screen%27s_multiuser_feature_for_remote_support
Еще одно предложение: заранее измените пароль root на временный. Когда он уйдет, восстановите пароль root на исходный пароль.
источник
Если вы разрешаете доступ к вашему серверу только с открытым ключом, но не можете вводить пароль, вы можете в любое время отозвать право доступа, удалив ключ, который вы дали консультанту.
На экране GNU должна появиться вся необходимая функциональность, как предложил Кристиан Чиупиту. Если вы хотите добавить дополнительный комфорт, sudosh2 может вам помочь, но история ваших оболочек и экранная копия могут помочь вам воспроизвести команды позже ...
источник