el_*_*rom 3 ssh perl public-key-encryption
带着另一个perl + SSH问题回到这里.
这是我的情况:
我需要使用SSH从服务器A连接到服务器B. 在此SSH连接中,我需要在其他命令旁边建立一些SFTP连接.关于身份验证,我需要使用公钥身份验证.所有这些都在Perl脚本中,服务器A和B都是windows.
你知道任何匹配这些约束的perl模块吗?
我试过了:
额外的问题:我读到存储私钥(在我的情况下在服务器A上)根本不安全(我理解为什么),有没有办法避免这种情况?
码:
my $ssh = Net::SSH::Perl->new("server-ip", identity_files => [ 'path-to-private-key' ], option => ["BatchMode yes"]);
$ssh->login('login');
Run Code Online (Sandbox Code Playgroud)
我是Net :: OpenSSH和Net :: SSH :: Any的作者.
Net :: SSH :: Any支持公钥认证,但有几个隐藏的要求:
"${path_to_private_key}.pub".除此之外,在过去的几个月里,我一直致力于改进Net :: SSH :: Any,以及在底层Net :: SSH2模块和libssh2库上修复许多重要错误的方法.如果你感到勇敢,你可能想尝试开发版本(你需要三个软件包的git版本,Net :: SSH :: Any,Net :: SSH2和libssh2).
我非常感谢获得有关它的任何反馈,特别是在Windows下运行时.