2012-01-10 66 views
3

我有一些使用Net :: Telnet模块连接到多个服务器的程序。现在,管理员已决定替换SSH的Telnet服务,保留以前的所有其他内容(例如用户帐户)用ssh代替telnet

我看过Net :: SSH2,我发现我必须更改大多数部分节目。你知道其他的SSH模块,更适合这个相同的替代品吗?

客户端是Windows中(的ActiveState Perl或Cygwin的Perl的)

+2

[草莓的Perl(http://strawberryperl.com) – 2012-01-10 19:23:27

+0

你的意思是网:: OpenSSH的工作与草莓的Perl? – golimar 2012-01-11 09:00:19

回答

0

感谢您的建议,但我最后使用的Net :: SSH :: Perl中的activeperl上的Windows

优点:

  • 颇为相似的Net :: Telnet协议。没有close方法,但不是$host->close你可以做$host->cmd("exit")
  • 本地Perl实现

缺点:

  • 每个cmd()调用有不同的状态,例如,它不保留调用之间的当前目录,如Net :: Telnet确实需要
  • 需要修改模块代码才能在Windows上工作,请参阅:https://rt.cpan.org/Public/Bug/Display.html?id=18154
  • cmd("su - user")不起作用,但cmd("su - user -c 'commands'")确实