Скрипт работает без sudo, не работает с sudo

Когда я запускаю этот скрипт:

#!/bin/bash -v sshpass -p '<pypasswd>' scp blah.img root@myip:/home/user/blah.img exit 0 

с

 ./script.sh 

или

 nohup ./script.sh & 

оно работает.

Но когда я сделаю

 nohup sudo ./script.sh & 

он не работает (ничего не загружено, и у меня когда-то была ошибка аутентификации, которую я больше не могу воспроизвести). Зачем?


Примечание. Обычно я использую nohup sudo ./script.sh & для некоторых других скриптов, и он обычно работает отлично.

Примечание 2: Мне действительно нужно sudo потому что в моем скрипте есть другие вещи, которые нуждаются в sudo.

2 Solutions collect form web for “Скрипт работает без sudo, не работает с sudo”

Я подозреваю, что myip записан в /root/.ssh/known_hosts . Попробуйте один раз sudo ssh root@myip интерактивно, прежде чем запускать этот скрипт.

Кроме того, вы можете отключить проверку ключа хоста:

 #!/bin/bash -v sshpass -p '<pypasswd>' scp -o StrictHostKeyChecking=no blah.img root@myip:/home/user/blah.img exit 0 

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

Попробуйте скопировать добавление ~/.ssh/id_rsa в /root/.ssh/id_rsa (или какой-либо другой секретный ключ, который вы используете для подключения к myip ).

В качестве альтернативы, пусть sudo выполняет другие действия и автоматически переходит к «нормальному» пользователю в сценарии, прежде чем делать копию.

  • Исполняемый файл не отображается при запуске с помощью sudo
  • Я хочу скопировать удаленный файл txt через SSH, но без использования корневого доступа
  • sudo запомнить пароль для списка команд?
  • sudo: пароль запрашивается, даже если NOPASSWD установлен
  • Не могу sudo после пароля блокировки, могу ли я оправиться от этого?
  • Запустить команду с sudo по умолчанию
  • Как заставить sudo запомнить мой пароль дольше?
  • Ubuntu 14.04.2 LTS: для пользователей NIS SSH работает, но консольный вход и sudo fail
  • Механизм хранения паролей в судо
  • тестирование sudo для учетных данных
  • Как вы судо с xonsh?
  • Невозможно развернуть звездочку без соответствующего разрешения
  • Linux и Unix - лучшая ОС в мире.