LINUX.ORG.RU
решено ФорумAdmin

Графические утилиты: 1) SSH HOSTS 2) add to passwordless sudo

 ,


0

1

Есть много хостов, на которые нужно интерактивно ходить рутом и удаленно дергать команды от рута.

Изначальные данные: адрес хоста и логин-пароль пользователя, который имеет право через sudo выполнять команды как root.

Т.к. добавлять надо много всяких хостов, делать это руками стрёмно.

Задача супер частая, так что может уже есть готовые решения, и не придется писать самому?

Нужны:

1) Графическая утилита, чтобы из графики можно было редактировать список хостов в ~/.ssh/config

Когда добавляется новый хост, нужно запускать ssh-copy-id (с параметром - ключом).

Хорошо бы чтобы утилита умела комментарии к хостам (чтобы вписать, чей это хост).

Хорошо бы чтобы утилита умела post-add хук, чтобы сделать скрипт, который производил бы разную магию после добавления хоста.

Хорошо бы, чтобы утилита реверс-инжинирила готовые конфиги, а не отображала в конфиг свой XML, ибо уже есть конфиг-файл на стопицот хостов.

2) Графическая утилита и скрипт, чтобы добавлять в passwordless sudo пользователя, имея его уже в sudo.

(скрипт - чтобы можно было дернуть его как post-add хук в предыдущей утилите).

Т.е. пыталась сделать sudo su, экспектом ловила приглашение пароля, плейнтекстом его туда вбивала, потом лезла в sudoers и добавляла username ALL=(ALL) NOPASSWD: ALL

Хорошо бы, чтобы утилита КОРРЕКТНО реверс-инжинирила готовый sudoers а не тупо добавляла в конец.

★★★★☆
Ответ на: комментарий от init_6

Не в Job потому, что я могу это написать довольно быстро сам. Но думаю, что у админов такие утилиты уже есть. Как иначе админить-то, не из под обычного юзера же.

stevejobs ★★★★☆
() автор топика

Графическая утилита

Убивать таких "сисадминов"!!!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от stevejobs

Зря ты надеешься такое найти. "графический интерфейс" для администрирования только криворукие вантузятники используют.

Eddy_Em ☆☆☆☆☆
()

лезла в sudoers и добавляла username ALL=(ALL) NOPASSWD: ALL

Понятно. Ты хочешь линукс в мастдайку превратить.

Ставь сразу мастдайку. Тебе линукс не нужен.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от teamfighter

мне удобней мышкой кликать.

например, задача с ~/.ssh/config решается и без скрипта даже, просто применением Вима.

Но мне неприятно его использовать. Особенно неприятно искать хост в списке, и потом копипастать его в командную строку.

в MacOS например есть Shuttle для управления ключами. Висит в трее, можно мышкой выбирать хост к какому подключаешься.

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от Eddy_Em

Если не найдется - то я точно напишу это. И тогда этим начнут пользоваться ВСЕ :3 (добро пожаловать в ад, Эдди!)

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от Eddy_Em

ALL=(ALL) NOPASSWD: ALL
Понятно. Ты хочешь линукс в мастдайку превратить.
Ставь сразу мастдайку. Тебе линукс не нужен.

почти всё работает только от рута. Как ты собираешься админить без рута?

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от teamfighter

да наверняка такое уже есть и не нужно ничего писать

надеюсь ты понимаешь, что если писать - то писать я буду на Java. А с гуя на Java ты будешь блевать кровью 24 дня, а к тому времени этот тред уже заблокируют.

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

Я точно этим говном пользоваться не буду.

Это ж какой надо быть обезьяной, чтобы вместо того, чтобы несколько символов в консоли набрать (скрипт запустить) тыкать мышей?

почти всё работает только от рута. Как ты собираешься админить без рута?

Нельзя беспарольный sudo на ALL! Только ССЗБ так делают!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от stevejobs

писать я буду на Java

Ну ты и извращенец!

Линукс в мастдайку превратить хочешь.

Гуйню на жабке пишешь...

Это кошмар! Тебе прямая дорога в мелкософт или шапку. Только эти две дегенеративные конторы таким промышляют.

Eddy_Em ☆☆☆☆☆
()

Не совсем то, но royal tsx пробовал?

xtraeft ★★☆☆
()

зацени наличие /usr/bin/ssh-argv0

$ ln -s /usr/bin/ssh-argv ~/bin/server1
$ ln -s /usr/bin/ssh-argv ~/bin/root@server2
Затем в консоле просто
$ server1
$ root@server1

sdio ★★★★★
()
Ответ на: комментарий от anonymous

Заказчики в душе не знают, как админить линукс. Знают только, что рутовый аккаунт в открытый интернет лучше не палить. Поэтому выдают пароль на любого другого пользователя кроме root. Если так угодно, можно автоматически делать еще и группу «администраторы», но мне кажется что это излишняя суматоха на чужом сервере, которая может создать лишние проблемы. Как самый минимум - она увеличит отчёт для хозяина, что было изменено на сервере. И усложнит утилиту настройки.

stevejobs ★★★★☆
() автор топика
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от stevejobs

графических улит для этого увы нет, есть puppet и etckeeper,spacewalk. Но честно тебе скажу, до твоей проги в маке им по удобству далековато.

erzent ☆☆
()
Ответ на: комментарий от stevejobs

Ага. Но когда поимеют апач через кривой php-скрипт, то в случает с группами пострадает только каталог веб-сервера. Который можно накатить обратно из резервной копии. А в случает ALL - можно получить руткит, который придется лечить переустановкой всей системы. Хозяин конечно барин, но всю эту свистопляску с группами и правами не от нефиг делать придумывали.

anonymous
()
Ответ на: комментарий от stevejobs

Заказчики в душе не знают, как админить линукс

Ну так и нефиг с ними работать! Пусть под мастдайкой сидят или квалификацию повышают.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

У меня начальство, когда первый раз увидело мою calculate с KDE, очень удивились, и спросили, что это я за версию мака поставил. Поверь, масдайку они тоже не знают

erzent ☆☆
()
Ответ на: комментарий от anonymous

пажди, разве «username ALL=(ALL) NOPASSWD: ALL» не дает права только для username? Username - это собственно «админ», никаким скриптам выполнение от его имени не передается. Если так, то каким образом порутованный PHP может поломать пользователя, под которым не запускается? (Помойму апач работает под юзером www)

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от erzent

Поверь, масдайку они тоже не знают

Знаю. Те, кто знает мастдайку, обычно знает и линукс, и макось и много чего еще. А "хомячки" просто считают, что знают это Г.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от stevejobs

А теперь представь, что будет, если кто-то ломанет пароль этого username!

И вообще, (ALL) NOPASSWD: ALL можно делать только на локалхосте, если кроме тебя никто к компьютеру физического доступа не имеет!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

По твой логике админить можно только с локалхоста.

Потому что если админить не с локалхоста, то придется по интернету соединяться с пользователем права которого (через те или иные утилиты) эквивалентны правам root.

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от Eddy_Em

Ну так и нефиг с ними работать! Пусть под мастдайкой сидят или квалификацию повышают.

я на их незнании зарабатываю :3 Пусть лучше ко мне идут, чем в гугл.

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от Eddy_Em

А теперь представь, что будет, если кто-то ломанет пароль этого username!

И что? sudo разве не пароль юзера спрашивает? То-то!

sdio ★★★★★
()
Ответ на: комментарий от stevejobs

ну на многие сервера реально должен иметь доступ только начальник отдела.

erzent ☆☆
()
Ответ на: комментарий от Eddy_Em

А теперь представь, что будет, если кто-то ломанет пароль этого username!

пароль должен использоваться ровно 1 раз: до первого ssh-copy-id.

если хозяин сервера супер пупер хацкер и отключил авторизацию по ключам - ССЗБ, пусть страдает и трясется от неутолимого страха по ночам

stevejobs ★★★★☆
() автор топика

secpanel

Description-en: graphical user interface for SSH and SCP
 SecPanel is a graphical user interface for managining
 and running secure shell (ssh) and secure network copy
 (scp) connections via OpenSSH. It eases key distribution
 and other tasks related to using these programs.

З.Ы.не юзал, не знаю, но в репозитории дебиана оно есть

sdio ★★★★★
()
Ответ на: комментарий от stevejobs

Просто заходишь с удаленного компьютера по ssh под обычным пользователем, делаешь su - и админишь себе!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

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

но чем твой способ лучше, чем sudo?

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

но чем твой способ лучше, чем sudo?

Тем что sudo отличается от su назначением. sudo нужен для разграничения рутовых прав (т.е. разным юзерам давать разные части прав). А ты его пытаешься использовать как su, но при этом без ввода пароля. Т.е. фактически создаёшь ещё одного рутового юзера. Зачем?

vurdalak ★★★★★
()
Ответ на: комментарий от vurdalak

1) основным рутовым юзером по дефолту нельзя соединяться через интернет
2) и разрешать это нельзя, вдруг какой-нибудь дибил начнет брутить рутовый акк. всем же известно, что рутовый акк точно существует.
3) да и не дадут мне пароль на рутовый аккаунт. Админы обычно используют один пароль на кучу всяких важных сервисов, и давать мне пароль ОТ ВСЕГО они точно не будут.
4) рутовые права мне нужны, т.к. я удаленно выполняю по ssh команды от рута. Это нужно, чтобы управлять софтом, запущенным от рута.
5) Беспарольный для того, чтобы можно было такие команды сотнями из скриптов, сотни раз вводить пароль очень стрёмно. Кроме того есть определенные проблемы с интерактивным вводом пароля при удаленном вызове.

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от leave

я привёл то, что может работать с несколькими хостами по ssh, с одним логином и паролем, то, что хочет он, вообще не существует.

erzent ☆☆
()
Ответ на: комментарий от leave

так поэтому и нужны комментарии

и конечно поиск по комментариям. Т.е. чтобы вверху окна с хостами можно было написанять «Ваня», и оно пролистало бы этот огромный список до первого Вани. Ну и кнопки следующий-предыдущий-первый-последний. Короче, нормальный поиск.

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

Ты бы почитал man ssh_config, что ли? Там есть поле Host, которое и есть твой «комментарий». А еще .ssh_config отлично работает с bash_completion

leave ★★★★★
()
Ответ на: комментарий от leave

В комментарии может быть ФИО, номер договора, город, название CDN, итп. Предлагаешь засунуть это всё в host, объединив через «_»? :)))

А еще .ssh_config отлично работает с bash_completion

чтобы знать что писать в sshTAB, это надо вначале как-то отрыть в длинном списке

и очень неприятно копипастать потом найденное в отдельный терминал. Мы УЖЕ в списке, почему нужно открывать что-то еще?

В то время когда можно было бы просто клацнуть мышкой по ссответствующей записи, и дальше чтобы все произошло самостоятельно: он открыл терминал, попытался залогиниться по ключу, не получилось - ssh-copy-id с просьбой ввести пароль, потом снова автоматический вход по ключу, попытка sudo su, не получается - добавление беспарольности в sudoers и снова попытка sudo su.

таким образом в 1 клик получаем доступ к серверу. Вместо того, чтобы долго нудно это делать самому.

stevejobs ★★★★☆
() автор топика
Последнее исправление: stevejobs (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.