首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SSH密钥的Perl LFTP管道

使用SSH密钥的Perl LFTP管道
EN

Stack Overflow用户
提问于 2018-01-09 03:04:40
回答 1查看 508关注 0票数 0

我当前可以使用用户名/密码组合连接到SFTP服务器:

代码语言:javascript
复制
print "Attempting connection...\n";

open( my $LFTP,'|-', "lftp -u $ftpuser,'$ftppwd' -e open -p $ftpport $ftpserver" ) or die "Cannot open lftp: $!";

print $LFTP <<"END";
                    ls
END
close($LFTP); # die unless lftp exit code is 0

exit 0;

如何更改此代码以使用使用密码加密的SSH密钥连接到不同的服务器?

这是我尝试过的:

代码语言:javascript
复制
print "Attempting connection...\n";

# $ftppwd is blank now!

open( my $LFTP,'|-', "lftp -u $ftpuser,'$ftppwd' -e 'set sftp:connect-program \"ssh -a -x -i $keypath\"; open $ftpserver;'" ) or die "Cannot open lftp: $!";

print $LFTP <<"END";
                                ls
END
close($LFTP); # die unless lftp exit code is 0
exit 0;

输出停留在以下位置:

代码语言:javascript
复制
Attempting connection...
`ls' at 0 [Connecting...]

提前感谢您的帮助..

EN

回答 1

Stack Overflow用户

发布于 2018-01-10 11:53:41

在-e参数中的open命令中添加-u选项,并使用密码短语作为密码。还应该使用url语法来选择sftp协议,例如s ftp://user:phrase@server。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48156581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档