繁体   English   中英

如何从Perl使用Linux命令连接到sftp

[英]How can I connect to sftp using linux command from Perl

#!/usr/local/bin/perl
use strict;
use warnings;
system("cd $PATH
/usr/bin/sftp mysite.com <<!EOF
put sample.txt
bye
!EPF");

当我编译应用程序时,它会询问密码,如何在代码本身中传递用户名/密码,

我想要的是,我的脚本不应询问密码。 我想在代码本身中设置用户名/密码。 用户命令在sftp中不起作用如何实现。

面对如此模糊的问题,很难给出更多答案……

您是否尝试过Net :: SFTP模块?

编辑:

根据对问题的编辑-尝试使用Net :: SFTP :: Foreign

    use Net::SFTP::Foreign;
    use warnings;
    use strict;

    my $host = "xxx.xxx.xxx.xxx";
    my $sftp = Net::SFTP::Foreign->new($host, user => 'user', password => 'pass');
    $sftp->error and die "Something bad happened: " . $sftp->error;
    $sftp->put("sample.txt", "/home/test/test") or die "put failed: " . $sftp->error;

您应该会收到一条更有意义的错误消息,您可以从那里获取。

您可以尝试其他模块,例如Net :: SFTP :: ForeignNet :: SSH2的SFTP功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM