Perl - 将目录从其他计算机复​​制到本地计算机

时间:2018-03-11 15:30:11

标签: perl ssh scp

我正在尝试编写一个perl脚本,该脚本将包含其他计算机文件的目录复制到当前计算机。 我可以在shell中使用hist(z,col="gray",breaks=50,freq=FALSE) with(as.list(coef(f1)), curve(dlnorm(x,meanlog,sdlog), add=TRUE,col="red",lwd=2)) with(as.list(coef(f2)), curve(dgamma(x,shape=shape,rate=rate), add=TRUE,col="blue",lwd=2)) 命令,但它需要密码。另外,我的工作区域没有以下模块(不幸的是我无法安装它们):

  

净:: OpenSSH的

     

净:: SSH :: Perl的

     

净:: SCP

     

Net :: FTP

我确实安装了scp

我的任务是将文件从其他机器复制到当前机器。主要问题是它需要密码才能在shell上使用Net::SSH。有没有优雅的方法来解决这个问题?

1 个答案:

答案 0 :(得分:4)

优雅的方法是使用公钥认证。

如果你真的需要密码验证,那么除了你列出的那些之外,还有其他模块可以让你自动化它。检查您是否有Net::SSH2ExpectIO::Pty

您也可以使用一些ssh / scp客户端接受来自命令行的密码,或者使用环境变量*作为plinkpscplftp

另一种可能性是使用实用程序sshpass

(*请注意,在命令行或环境变量中传递密码是一种非常不安全的做法!)