Я использую оболочку танцоров, чтобы попытаться выполнить команды установки на нескольких машинах в сети, но каждый раз, когда я делаю я добираюсь
no tty present and no askpass program specified
.
Я знаю это, если я использую ssh -t
для команды я могу избежать этого, но являюсь там путем к dsh
или ssh
выполнять команду на нескольких машинах, не используя -t
команда?
Команда я работаю:
`dsh -aM -c sudo apt-get install python`
Можно избежать sudo
требование TTY путем добавления этой опции Defaults !requiretty
в /etc/sudoers
файл. Но если sudo все еще требует пароля, чем он не поможет Вам, если Вы не установите NOPASSWD
на своего пользователя. В основном изменения, которые Вы хотите, могут так или иначе походить на это:
Defaults:your_user !requiretty
your_user ALL = NOPASSWD: ALL
Предпочтительный способ отредактировать этот файл использует visudo
, который проверит синтаксис прежде, чем записать файл обратно к диску.
sudo
по умолчанию считывает пароль с подключенного терминала. Ваша проблема в том, что терминал не подключен, когда он запускается из консоли.
введите sudo vi /etc/sudoers
. Это откроет ваш файл в режиме редактирования.
Найдите запись для пользователя Linux. Измените, как показано ниже, если найдено, или добавьте новую строку.
<USERNAME> ALL=(ALL) NOPASSWD: ALL