我当前可以使用用户名/密码组合连接到SFTP服务器:
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密钥连接到不同的服务器?
这是我尝试过的:
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;输出停留在以下位置:
Attempting connection...
`ls' at 0 [Connecting...]提前感谢您的帮助..
发布于 2018-01-10 11:53:41
在-e参数中的open命令中添加-u选项,并使用密码短语作为密码。还应该使用url语法来选择sftp协议,例如s ftp://user:phrase@server。
https://stackoverflow.com/questions/48156581
复制相似问题