使用Erlang SSH Application在远程UNIX服务器上执行命令

时间:2012-12-03 07:05:53

标签: unix ssh erlang solaris remote-server

我一直使用os:cmd/1方法来调用操作系统例程。现在,我知道erlang有一个ssh应用程序。我想知道如何使用此模块ssh到SOLARIS服务器,运行命令并收集回复。我相信这样的操作会异步处理。我需要一个使用Erlang内置的ssh应用程序的例子:

enter image description here

现在,我们有时会在服务器之间设置SSH KEYS以防止密码提示,尤其是在使用脚本在远程服务器上执行任务时。我打算编写许多Erlang程序或escripts,它们将与我们环境中的许多远程服务器进行交互。我需要一个完整的示例和说明,如何使用erlang ssh应用程序处理ssh和/或没有密码提示。

注意:在上面的屏幕截图中,两台服务器已设置SSH KEYS,因此当从两者中的任何一台启动ssh时没有密码提示

2 个答案:

答案 0 :(得分:3)

实现此目的的正确erlang原生API是 not ssh,它只为ssh实现用户交互式shell,而是使用ssh_connection。看一下ssh_connection:exec / 4

更完整,使用ssh:connect建立连接,然后使用从它返回的处理程序连接ssh_connection:exec / 4

答案 1 :(得分:0)

我自己没有尝试,也无法提供完整的例子,但the documentation似乎是一个很好的起点。