我想通过SSH在一堆盒子上重置密码。关于Erlang如何用于此目的的任何指针?
答案 0 :(得分:1)
Erlang确实是解决这个问题的最佳选择。
你应该看一下ssh module。使用
开始连接ssh:connect(Host, Port, Options).
然后使用ssh_connection module执行正确的passwd
命令(提示:首先启动shell)并注销。
编辑:以上内容大多错误,this blog post might get you started faster.
您甚至可以编写一个简单的服务器,在多个主机上并行执行所有这些操作,从而在这个星球上产生最具多核功能的多主机ssh密码更换器。周末项目的想法:制作一个Web应用程序。
答案 1 :(得分:-2)
只是不要将Erlang用于此类事情。
从here阅读:
Erlang特别适合哪种应用程序?
分布式,可靠,软实时并发系统。
电信系统,例如控制开关或转换 协议
用于互联网应用的服务器,例如邮件传输代理,IMAP-4 服务器,HTTP服务器或WAP堆栈。
电信应用,例如处理移动网络中的移动性 或提供统一消息。
需要软实时行为的数据库应用程序。
Erlang擅长解决这些问题,因为这就是问题 最初的问题域 专为。说明以上内容 功能条款:
Erlang提供了一个简单而强大的功能 错误控制和故障的模型 容忍度(监督程序)。
并发和消息传递是该语言的基础。 用Erlang编写的应用程序是 通常由数百或 数千个轻量级进程。 Erlang之间的上下文切换 过程通常是一个或两个 比数量便宜的数量级 在C中的线程之间切换 程序
编写由不同部分执行的应用程序 机器(即分布式的) 应用程序)很容易。 Erlang的 分配机制是 透明:程序不一定 意识到它们是分发的。
OTP库为网络中的许多常见问题提供支持 和电信系统。
Erlang运行时环境(虚拟机,就像Java一样) 虚拟机)意味着代码 编译在一个架构上运行 任何地方。运行时系统也是 允许运行系统中的代码 更新而不中断 程序
Erlang不是特别适合哪种问题?
人们使用Erlang来做各种各样的事情 令人惊讶的事情,例如 在协议上与X11通信 水平,但是,有一些共同点 Erlang不太可能发生的情况 成为首选语言。
最常见的一类'少 适合的'问题的特点是 性能是主要要求 和具有大的常数因子 对绩效的影响。典型 例子是图像处理,信号 处理,分拣大量的 数据和低级协议 终止。
另一类问题是 具有广泛的接口特征 现有的C代码。一个典型的例子是 实现操作系统设备 驱动程序。
开发了大多数(全部?)大型系统 使用Erlang大量使用C语言 低级代码,让Erlang离开 管理倾向于的部分 复杂的其他语言,如 控制系统遍布 几台机器和实施 复杂的协议逻辑。
根据Andrzej的建议,你应该看看其他方向。也许StackOverflow上有一个不同的问题,问“哪种语言对......有好处”可能是第一步......
<强>更新强>
如果您仍打算使用Erlang重置密码,您可能也希望查看the Erlang SSH Channel Behaviour。
阅读文档:
Ssh服务实现为通过ssh连接复用的通道 通过ssh连接协议进行通信。该模块提供了一个回调API 负责通用渠道方面,如流量控制和关闭消息,并让 回调函数负责处理特定于服务的部分。