12

У меня есть сервер A и сервер B (оба Ubuntu 10.04 LTS), выполняющие разные задачи. Серверу А нужно нажать на Сервер Б, который генерирует файл и возвращает его обратно на сервер А., когда закончите. Все это внутри компании, и я не слишком обеспокоен вопросами безопасности. Обмен ключами SSH уже выполняется между серверами A и B и работает нормально.

На сервере B скрипт generateOfflineSig выглядит следующим образом

#!/bin/bash
echo "in script"
sudo apt-offline set offline_package.sig --install-packages "$0"
echo "after sudo"
scp offline_package.sig jeff@servera:/tmp

Также на сервере B, visudo имеет эту запись:

jeff ALL=NOPASSWD: ALL

Что работает, если я выполняю sudo ls на сервере B ... пароль не запрашивается.

К сожалению, SSH всегда запрашивает пароль на сервере A:

jeff@servera:~$ ssh -t jeff@serverb /home/jeff/generateOfflineSig "incron"
in script
[sudo] password for jeff:

Есть идеи? Этот процесс не может быть прерван вводом пароля.

1 ответ1

14

Кажется, у меня была "опечатка" в /etc/sudoers ...

jeff ALL=NOPASSWD: ALL

нужно было в самом конце файла. Справка Ubuntu только говорит Добавить (...) к КОНЦУ файла (если не в конце, это может быть аннулировано более поздними записями)

После этого пароль никогда не запрашивается для команд jeff sudo ни локально, ни через SSH.

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