gpt4 book ai didi

perl - 如何在 Perl 脚本中 ssh?

转载 作者:行者123 更新时间:2023-12-04 02:46:59 24 4
gpt4 key购买 nike

我想通过 SSH 连接到服务器并执行一个简单的命令,例如“id”,然后获取它的输出并将其存储到我的主服务器上的一个文件中。我没有权限安装Net::SSH这将使我的任务变得非常容易。请为此提供解决方案。我尝试使用反引号,但无法将输出存储在运行脚本的机器上。

最佳答案

使用 SSH 远程运行命令的最佳方式是

$ ssh user@host "command" > output.file

您可以在 bash 或 perl 中使用它。但是,如果您想使用 perl,您可以按照 brian 在他的评论或 Perl FAQ 中的“ How do I keep my own module/library directory?”中的建议将 perl 模块安装在本地目录路径中。我建议不要使用 Net::SSH,而是在下面的示例中使用 Net::SSH::Perl。
#!/usr/bin/perl -w
use strict;
use lib qw("/path/to/module/");

use Net::SSH::Perl;

my $hostname = "hostname";
my $username = "username";
my $password = "password";

my $cmd = shift;

my $ssh = Net::SSH::Perl->new("$hostname", debug=>0);
$ssh->login("$username","$password");
my ($stdout,$stderr,$exit) = $ssh->cmd("$cmd");
print $stdout;

关于perl - 如何在 Perl 脚本中 ssh?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2848725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com