我一直使用os:cmd/1
方法来调用操作系统例程。现在,我知道erlang有一个ssh
应用程序。我想知道如何使用此模块ssh到SOLARIS服务器,运行命令并收集回复。我相信这样的操作会异步处理。我需要一个使用Erlang内置的ssh应用程序的例子:
现在,我们有时会在服务器之间设置SSH KEYS
以防止密码提示,尤其是在使用脚本在远程服务器上执行任务时。我打算编写许多Erlang程序或escripts
,它们将与我们环境中的许多远程服务器进行交互。我需要一个完整的示例和说明,如何使用erlang ssh应用程序处理ssh
和/或没有密码提示。
注意:在上面的屏幕截图中,两台服务器已设置SSH KEYS
,因此当从两者中的任何一台启动ssh时没有密码提示
答案 0 :(得分:3)
实现此目的的正确erlang原生API是 not ssh,它只为ssh实现用户交互式shell,而是使用ssh_connection。看一下ssh_connection:exec / 4
更完整,使用ssh:connect建立连接,然后使用从它返回的处理程序连接ssh_connection:exec / 4
答案 1 :(得分:0)
我自己没有尝试,也无法提供完整的例子,但the documentation似乎是一个很好的起点。