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

5

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

enter image description here

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

注意:在上面的屏幕截图中,两台服务器都设置了SSH KEYS,因此在任何一台服务器上启动ssh时不会有密码提示。

2个回答

3
正确的Erlang原生API实现此功能的方法不是ssh,因为它只实现了一个交互式用户shell,而应该使用ssh_connection。请参考ssh_connection:exec/4。
为了更完整,请使用ssh:connect建立连接,然后使用返回的处理程序使用ssh_connection:exec/4进行连接。

0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接