вызов команд SSH Sudo в скрипте bash - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь запустить команду во время цикла по нескольким адресам.

while read server
do
      ssh -t $sever "sudo md5sum $fileName >> hashes"
done < serverNamesFile

внутри скрипта в bash, но я получаю эту ошибку

sudo:извините, у вас должен быть tty для запуска sudo

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

Может кто-нибудь сказать мне, почему этопродолжает происходить?

Ответы [ 2 ]

0 голосов
/ 16 октября 2019

Я решил свою проблему. по-видимому, циклический просмотр ряда серверов внутри скрипта вызывает ошибку «TTY» для SSH.

лучше создать скрипт, который принимает адрес сервера, на котором вы хотите SSH, а затем передает егокоманды таким образом. вы все еще можете циклически проходить ряд файлов или команд, каждый раз вызывая SSH и используя эту команду:

while read stuff
do
ssh -qtt $severName " command"
done < $fileStuff
0 голосов
/ 15 октября 2019

у вас, вероятно,

Значения по умолчанию requiretty

в вашем файле / etc / sudoers.

Как следует из названия опции, это вызовет sudoтребовать tty

...