LINUX.ORG.RU

Получение root shh из под bash

 


0

2

Добрый день уважаемые форумчани! Хотел бы у вас спросить, как получить рутовскую командую строку после авторизации по ssh

sshpass -p $pass ssh -o StrictHostKeyChecking=no -X $login@$ip << EOF echo $pass | sudo -S echo -e " \033[37;1;43m СОЕДИНИЛИСЬ $var \033[0m" sudo apt-get update EOF

Вот скрипт работает, он отлично авторизовывается под рутом и выполняет успешно любую команду, например apt-get update. после этого скрипт заканчивает свою работу, и выходит

Но мне нужно что бы после авторизации под рутом, у меня была возможность вписать свою команду в терминале


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

Вот несколько вариантов: 1) Авторизоваться сразу рутом (можно прокинуть ssh-ключ и запретить аутентификацию по паролю) 2) Разрешить выполнять некоторые команды не-рутовому пользователю от sudo без ввода пароля (/etc/sudoers)

iljuase ★★ ()

Но мне нужно что бы после авторизации под рутом, у меня была возможность вписать свою команду в терминале

Ну наверное, для этого надо запустить диалоговую оболочку?

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

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

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

Пример диалоговой оболочки? ГНУ Баш.

Но вам, наверное, не надо указывать ее явно, а просто приказать sudo -i с тем, чтобы запустилась умолчательная.

Убедитесь только, что вы полноценный телетайп пробрасываете. Как -t у ssh(1).

Zmicier ★★★★★ ()

«Подскажите, как зайти на сервер по ssh».
Ну я даже и не знаю.

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

Все верно!

Что «верно»? Вопрос решен?

Пока ничего не понятно

В том, что вам пишут всякие леголегсы? А вам не надо это понимать.

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

Парни проблема же не как соединится по ssh, и войти в рута ! Это все и так работает !!! Проблема в том, что я могу запустить таким способом любую команду на выполнение, а мне нужно что бы после получение рута, я так же и остался но писал команды руками

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

Примерно так:

expect -c "set timeout 3; spawn ssh -o \"StrictHostKeyChecking no\" -i $path_to_ssh_key -p $port $user@$host; expect \"*?$\" {send \"sudo -i \r\"} ; expect \"*?word*\" {send \"$you_sudo_pass\r\"} ; interact"
в expect это делает interact.

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

Спасибо большое что откликнулись на мою проблему, но к сожалению скрипт ваш не дает рутовскую командую строку. я нахожусь в текущей учетной записи как и находился с мои скриптом

vbox ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.