我想使用 SSH 在远程服务器上运行脚本。
我已经编写了所有可以使用系统命令正常运行的代码。
要在远程服务器上运行我的代码,我需要一些我需要在远程服务器上安装的包。
为此,我需要以 ROOT 用户身份登录到远程终端。当我尝试使用 Ruby 脚本时,我得到如下内容
[not_root_user@remote_server]$ su
Password:
我需要一些命令,使用它我可以登录到远程服务器,如下所示
[not_root_user@remote_server]$ su -p ******
[root@remote_server]#
有没有接受密码的linux命令?
最佳答案
所以您想让您的脚本充当 root 用户?
不是很推荐,但是可以用expect: http://en.wikipedia.org/wiki/Expect
那里的 wiki 有一个基本的自动 telnet session 的演练,您可以根据自己的需要进行调整。
但是,您将使用明文形式的 root 密码,这可能是一个安全问题。如果你走那条路,一旦安装了这个包,我肯定会从宇宙中抹去那个脚本的所有副本。
但是如果您允许直接 root 登录,那么您已经遇到了一些安全问题。 Sudo 在我使用过的每个现代 Linux 发行版上都可以开箱即用,如果可能的话,我会坚持使用它。
另一个同样乏味的选择是通过 ssh 设置 root 到 root 的无密码登录。
关于linux - 如何使用 ruby 脚本以 ROOT 用户身份登录 linux 终端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10228766/