我想使用SSH在远程服务器上运行脚本。
我已经编写了所有使用系统命令正常运行的代码。
要在远程服务器上运行我的代码,我需要一些我需要在远程服务器上安装的软件包。
为此,我需要以ROOT用户身份登录远程终端。当我尝试使用Ruby脚本时,我会得到类似下面的内容
[not_root_user@remote_server]$ su
Password:
我需要一些命令,我可以使用它来登录远程服务器,如下面的
[not_root_user@remote_server]$ su -p ******
[root@remote_server]#
是否有接受密码的linux命令?
答案 0 :(得分:0)
所以你希望你的脚本以root身份运行?
这不是真的推荐,但您可以使用expect:http://en.wikipedia.org/wiki/Expect
wiki有一个基本的自动telnet会话演练,你可以根据自己的需要进行调整。
但是,您将以明文形式获得root密码,这可能是一个安全问题。如果你走这条路,那么一旦安装了这个软件包,我肯定会从宇宙中删除该脚本的所有副本。
但是如果您允许直接root登录,那么您已经遇到了一些安全问题。 Sudo在我使用的每个现代Linux发行版上都是开箱即用的,如果可能的话,我会坚持下去。
同样无味的另一个选择是通过ssh设置root-to-root登录而无需密码。
答案 1 :(得分:0)
Sudo将是我第一个解决这个问题的选择。虽然不是最好的选择。
您还可以使用SSH进行密钥身份验证,如果关闭密码身份验证,则无需输入密码。