2

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

Я пытаюсь сделать SSH без пароля и запустить скрипт на удаленном сервере. Но доступ в Sudo запрашивает пароль. Пожалуйста, предложите. Это бежало хорошо для местного пути. Но любая команда или сценарий требуют рут-доступа не удается.

Ниже сценарий:

#!/bin/sh
#set -x
# This Script will search for mib files on Current Server and other Server
# to load mib on current Server.

if [ -f /home/shuksand/Script/MibSearch.conf ]
then
        . /home/shuksand/Script/MibSearch.conf
else
        echo "Failed to find config file. Hence Existing!!!!"
fi

# Check alll MIBS on Server


while read line
do
        ServerName=$line
        echo $line
        scp  /home/shuksand/Input/Mib.txt $ServerName:
        cat /home/shuksand/Input/Mib.txt | while read DATA
        do
                echo $DATA
                ssh -t -t shuksand@${ServerName} 'sudo su - root /bin/sh /home/shuksand/Mib.sh $DATA'
        done
done < /home/shuksand/Input/ServerList.txt

Заранее спасибо!!

2 ответа2

0

Эта проблема обычно вызывается файлом sudoers. Одна вещь, которую нужно попробовать - это заставить скрипт просто запустить sh, а затем запустить команду sudo из этой подсказки sh и посмотреть, нужен ли пароль.

Обратите внимание, что sudo имеет тенденцию запоминать, если вы недавно аутентифицировали пароль от того же логина. Поэтому, если sudo считает, что вы достаточно аутентифицированы один раз (возможно, вы ввели пароль), а затем вы вносите изменения в /etc /sudoers, а затем вы пытаетесь снова выполнить sudo, вас легко могут ввести в заблуждение, потому что sudo может не подсказать вам, потому что sudo может помнить, что вы прошли тест менее 5 минут назад. Это устанавливается значением "timeout" в /etc /sudoers (man sudoers).

sudo su - root /bin /sh /home/shuksand/Mib.sh $ DATA

Похоже, что это, скорее, излишне, запутанный. Я иногда видел работу sudo, и su fail, или наоборот. Эта команда требует, чтобы оба работали. На многих системах

sudo -i ~ shuksand/Mib.sh $ DATA

вероятно, будет делать то же самое.

0

Я думаю, что вам нужно отредактировать файл /etc /sudoers. Добавьте что-то вроде этого:

<your username> ALL=(ALL) NOPASSWD: ALL

Вы можете найти дополнительную информацию здесь:https://askubuntu.com/questions/147241/execute-sudo-without-password

Могу ли я предложить вам исправить форматирование для вашего вопроса? Большая часть того, что вы пишете (сценарий), на самом деле не имеет отношения к вашему вопросу.

Редактировать: Если вы правильно установили исполняемый файл Mib.sh и добавили!Строка #/bin/sh в начале файла, затем все, что вам нужно для запуска, это 'sudo su - /home/shuksand/Mib.sh $ DATA' (подразумевается "root" /default при выполнении su)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .