使用ruby以远程方式运行程序

时间:2014-06-02 22:56:01

标签: ruby ruby-on-rails-3 ubuntu

我想从远程运行程序X的ruby程序发送命令。之后我应该能够从远程机器控制程序X.程序X只需要文本命令。没有涉及GUI。我读到了Net :: SSH,但我不知道如何让服务器监听客户端(执行Net :: SSH程序的地方)。程序失败,出现以下错误:

C:/Ruby193/lib/ruby/gems/1.9.1/gems/net-ssh-2.9.1/lib/net/ssh/transport/session.rb:70:in"initialize“:连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机无法响应。 - connect(2)(Errno :: ETIMEDOUT)

如何让服务器收听客户端?另外,有不同的方法吗?

1 个答案:

答案 0 :(得分:0)

我会选择程序X的服务器是Web服务器的设置。程序X可以是Rails应用程序,它将为您的ruby程序提供用于控制程序X的API。

如果程序X不能成为rails应用程序,您可以编写一个可以链接到程序X的Rails应用程序,并公开您的ruby程序的API以进行通信。这样,您就可以将ruby程序与程序X链接起来。

Net :: SSH也可以工作。您的错误是SSH gem无法连接到您的服务器。确保您的服务器可以通过命令提示符自己进行SSH工作。一旦完成所有基本配置,您就应该能够使用gem来进行SSH。