2017-02-20 14 views
-1

Я пытаюсь изменить файл конфигурации на клиенте удаленно с сервера. Это экспериментальный стенд. У меня установлена ​​так, что ключ сервера rsa_pub находится в файле авторизированных ключей клиента.Выполнение некоторых команд в скрипте как пользователь

Когда я запускаю скрипт (это должно выполняться от имени пользователя root), при попытке изменить файл мне будет предложено ввести пароль клиентского компьютера. Если я запустил его как пользователь, то я не буду. Я также попытался использовать переключатель sudo -u, который, похоже, не работает.

Запуск от имени пользователя (Это работает):

echo 'prio 0' | ssh [email protected] "cat > /home/user/priofile.txt" 

все еще работает как пользователь, но с -u переключателем (это работает):

$ sudo -u user echo 'prio 0' | ssh [email protected] "cat > /home/user/priofile.txt" 

Запуск от корня:

# sudo -u user echo 'prio 0' | ssh [email protected] "cat > /home/user/priofile.txt" 
[email protected]'s password: 

Зачем мне подсказывать пароль, хотя я пытаюсь запустить его как пользователь?

+1

Возможно ли, что авторизованный ключ в файле клиента соответствует пользователю 'user', а не' root' пользователю? –

+0

Да! точно проблема. Благодаря! – jamie

+0

@jamie Вы пропустили концепцию stackoverflow. Ваш вопрос не связан с программированием. Кроме того, это то, что неоднократно обсуждалось во многих местах. Пожалуйста, удалите этот вопрос и прочитайте: https://stackoverflow.com/help/how-to-ask, прежде чем отправлять свой следующий вопрос в stackoverflow. – hek2mgl

ответ

0

Ключи пользователя root хранятся под /root/.ssh/. Эти ключи необходимо скопировать на удаленный клиент, чтобы облегчить доступ к паролю.