如何在标准 perl 5.10.0 中进行远程执行
我想通过远程程序运行一些命令。我已经使用以下代码尝试过。
my $promt = '/bash\$ $/';
use Net::Telnet ();
$conn = new Net::Telnet (Timeout => 10, Prompt => $promt);
$conn->open($host);
$conn->login($username, $passwd);
@lines = $conn->cmd("who");
print @lines;
但它给出了错误, 无法在 @INC 中找到 Net/Telnet.pm.....
有没有办法在不更改、添加标准 perl 5.10.0 模块的情况下完成此任务?
I want to run some commands via a remote program. I've tried it using following code.
my $promt = '/bash\$ $/';
use Net::Telnet ();
$conn = new Net::Telnet (Timeout => 10, Prompt => $promt);
$conn->open($host);
$conn->login($username, $passwd);
@lines = $conn->cmd("who");
print @lines;
But it gives error,
Can't locate Net/Telnet.pm in @INC.....
Is there way to do this task without changing, adding standard perl 5.10.0 modules?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
只需在您自己的用户路径中安装 Net::Telnet perl 模块即可。或者,如果您没有绑定 perl,我建议在远程系统上运行命令的最佳方式是 SSH。
这将为您提供 STDOUT 中的结果。
示例:
您可以在“使用 SSH 运行远程命令”找到更多示例。
Just install the Net::Telnet perl module in your own user path. OR if you are not bound to perl, the best way i can suggest to run commands on remote systems is SSH.
This will give you the results in STDOUT.
Examples:
You can find few more at "Run Remote Command with SSH".
我已经使用此函数解决了问题...
函数 -Execute_Remote_Command- 需要一个需要在远程计算机中运行的参数。
这里唯一需要的额外要求是支持 sshpass 命令,可以使用以下网址下载。
http://linux.softpedia.com/get/Security/Sshpass-8693.shtml
Ive solved the problem using this function...
Function -Execute_Remote_Command- needed a parameter which needed to be run in the remote machine.
The only additional requirement needed here is supporting sshpass command and it can be downloaded using following url.
http://linux.softpedia.com/get/Security/Sshpass-8693.shtml