如何使用ruby脚本以ROOT用户身份登录linux终端

时间:2012-04-19 13:07:24

标签: linux ssh command-line-interface su

我想使用SSH在远程服务器上运行脚本。

我已经编写了所有使用系统命令正常运行的代码。

要在远程服务器上运行我的代码,我需要一些我需要在远程服务器上安装的软件包。

为此,我需要以ROOT用户身份登录远程终端。当我尝试使用Ruby脚本时,我会得到类似下面的内容

[not_root_user@remote_server]$ su
Password: 

我需要一些命令,我​​可以使用它来登录远程服务器,如下面的

[not_root_user@remote_server]$ su -p ******
[root@remote_server]# 

是否有接受密码的linux命令?

2 个答案:

答案 0 :(得分:0)

所以你希望你的脚本以root身份运行?

这不是真的推荐,但您可以使用expect:http://en.wikipedia.org/wiki/Expect

wiki有一个基本的自动telnet会话演练,你可以根据自己的需要进行调整。

但是,您将以明文形式获得root密码,这可能是一个安全问题。如果你走这条路,那么一旦安装了这个软件包,我肯定会从宇宙中删除该脚本的所有副本。

但是如果您允许直接root登录,那么您已经遇到了一些安全问题。 Sudo在我使用的每个现代Linux发行版上都是开箱即用的,如果可能的话,我会坚持下去。

同样无味的另一个选择是通过ssh设置root-to-root登录而无需密码。

答案 1 :(得分:0)

Sudo将是我第一个解决这个问题的选择。虽然不是最好的选择。

您还可以使用SSH进行密钥身份验证,如果关闭密码身份验证,则无需输入密码。