2

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

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

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

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

[not_root_user@remote_server]$ su
Password: 

我需要一些命令,使用它可以登录到远程服务器,如下所示

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

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

4

2 回答 2

0

所以你想让你的脚本作为根?

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

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

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

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

另一个同样乏味的选择是通过 ssh 设置没有密码的 root 到 root 登录。

于 2012-04-19T14:40:31.937 回答
0

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

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

于 2012-04-19T14:44:21.113 回答