开发者

Running Remote Root Scripts on Fedora

I'd like to automate root scripting actions on my remote Fedora server via SSH without having to install the scripts on the server. To do this, I'm trying to use Bash's inline script notation. This works fine in Ubuntu, but I'm getting strange errors on Fedora.

e.g.

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

su -
ls /root
exit

exit
EOI

This gives me the output:

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

I've also tried:

#!/bin/bash开发者_如何转开发
ssh -t myuser@myserver <<EOI

sudo ls /root

exit
EOI

but this gives me:

sudo: no tty present and no askpass program specified

If I manually ssh in and run these commands, they run fine since myuser is in the sudoers file. I've Googled these errors and have tried some fixes, but nothing's worked so far. How do I resolve this?


Looks like you're being prompted for the password but have no way to enter it. Here's a few things that should help.

Try an extra -t option: ssh -tt myuser@myserver <<EOI

Also this is a handy trick to log on as root without the root password being enabled: sudo su -

As a last resort you can setup your user to sudo without a password using visudo. You might see some comments like these to help you out:

# 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
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜