Запуск скриптов удаленного рута на Fedora - PullRequest
1 голос
/ 20 января 2011

Я хотел бы автоматизировать действия корневых сценариев на моем удаленном сервере Fedora через SSH без необходимости устанавливать сценарии на сервере.Для этого я пытаюсь использовать встроенную запись сценария Bash.Это нормально работает в Ubuntu, но я получаю странные ошибки в Fedora.

например

#!/bin/bash
ssh -t myuser@myserver <<EOI

su -
ls /root
exit

exit
EOI

Это дает мне вывод:

standard in must be a tty
ls: cannot open directory /root: Permission denied

У меня естьтакже попытался:

#!/bin/bash
ssh -t myuser@myserver <<EOI

sudo ls /root

exit
EOI

, но это дает мне:

sudo: no tty present and no askpass program specified

Если я вручную ввожу ssh и запускаю эти команды, они работают нормально, так как myuser находится в файле sudoers.Я погуглил эти ошибки и попробовал некоторые исправления, но пока ничего не получалось.Как мне решить эту проблему?

1 Ответ

1 голос
/ 20 января 2011

Похоже, вас просят ввести пароль, но у вас нет возможности его ввести.Вот несколько вещей, которые должны помочь.

Попробуйте дополнительную опцию -t: ssh -tt myuser@myserver <<EOI

Также это удобный трюк для входа в систему как root без включенного пароля root: sudo su -

В крайнем случае вы можете настроить своего пользователя на sudo без пароля, используя visudo.Вы можете увидеть некоторые комментарии, подобные этим, чтобы помочь вам:

# Uncomment to allow members of group sudo to not need a password
# (Note that later entries override this, so you might need to move
# it further down)
# %sudo ALL=NOPASSWD: ALL
...