在Fedora上运行远程根脚本
问题描述:
我想通过SSH在远程Fedora服务器上自动执行根脚本操作,而无需在服务器上安装脚本。为此,我试图使用Bash的内联脚本符号。这在Ubuntu中正常工作,但是我在Fedora上遇到了一些奇怪的错误。在Fedora上运行远程根脚本
例如
#!/bin/bash
ssh -t [email protected] <<EOI
su -
ls /root
exit
exit
EOI
这使我的输出:
standard in must be a tty
ls: cannot open directory /root: Permission denied
我也试过:
#!/bin/bash
ssh -t [email protected] <<EOI
sudo ls /root
exit
EOI
,但是这给了我:
sudo: no tty present and no askpass program specified
如果我手动SSH方式并运行这些命令,它们自myuser在中运行良好sudoers文件。我谷歌搜索这些错误,并尝试了一些修复,但没有任何工作到目前为止。我该如何解决这个问题?
答
看起来你被提示输入密码,但没有办法输入密码。以下是一些应该帮助的事情。
尝试一个额外的-t选项:ssh -tt [email protected] <<EOI
而且这是一个方便的技巧以root身份登录,而root密码被启用:sudo su -
作为最后的手段,你可以设置你的用户须藤没有使用密码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
我已经尝试了-tt技巧。它不起作用。它确实会导致我提示输入密码,但我的密码是纯文本的。即使我输入,按Enter键时也没有任何反应。 – Cerin 2011-01-20 19:31:01