在 ubuntu 中找不到 Net/SSH/Expect.pm?

geo*_*rea 1 ssh ubuntu perl

我对使用 Perl 编写脚本相当陌生。我正在尝试 ssh 进入服务器并执行一些命令。我必须提供用户名和密码。我尝试在 perl 中使用 Net::SSH::Expect ,但是当我运行我的 perl 程序时,我尝试了这个,

curl -L http://cpanmin.us | perl - --sudo App::cpanminus
cpanm Net::SSH::Perl 
Run Code Online (Sandbox Code Playgroud)

但仍然收到如下错误消息,

Can't locate Net/SSH/Expect.pm in @INC (you may need to install the Net::SSH::Expect module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /home/hsuan/inms/get/get_mac.plx line 9.
Run Code Online (Sandbox Code Playgroud)

BEGIN 失败 - 编译在 /home/hsuan/inms/get/get_mac.plx 第 9 行中止。

有没有比下载、解压、制作等更简单的安装方法?

Sch*_*ern 5

您需要 Net::SSH::Expect,但您正在安装 Net::SSH::Perl。

Net::SSH::PerlNet::SSH::Expect是不同的库。当 Perl 模块被命名为“Perl”时,仅意味着它是 100% Perl 并且不需要 C 编译器。

安装 Net::SSH::Expect,就像它说的那样。cpanm Net::SSH::Expect


我必须提供用户名和密码

使用 ssh 密钥和 ssh 代理可以更好地解决此问题。