【发布时间】:2013-09-18 11:40:37
【问题描述】:
我是 perl 脚本的新手,下面的代码是从 sftp 服务器下载文件。
#!/usr/bin/perl
use strict;
use warnings;
use Net::SFTP::Foreign;
my $sftp = Net::SFTP::Foreign->new(
'auser@sftp.rent.com',
password => 'auser123',
more => ['-v']
);
$sftp->get('outgoing/DATA.ZIP', '/home/sar/')
or die "unable to retrieve copy: ".$sftp->error;
$sftp->disconnect;
这里我已经硬编码了密码,我想在脚本中避免密码,有没有其他方法可以从文件中读取密码或有什么方法?
我在 stackoverflow 和 google 中搜索过,我不知道如何使用它。我试过下面一个。
PASSWORD=`cat /home/sar/passwd_file.txt`
my $password = $ENV{'PASSWORD'}
你能帮我解决这个代码吗?
【问题讨论】:
-
当您使用 SSH FTP 时,您真的想通过以纯文本形式存储密码来破坏安全性吗?我看到有一个选项
key_path,您可以在其中存储身份验证密钥的文件名。 -
我是 perl 的新手,我不想在脚本中硬编码密码,我想从文件中读取密码并仅将读取权限授予特定用户。有什么方法可以做到这一点
-
谷歌“ssh 生成密钥”。您所做的基本上是为您要登录的服务器设置一对密钥,然后登录是自动的。
-
我不想通过 ssh 生成密钥。任何其他方式
-
为什么不呢?这是自动登录的常用方法。
标签: linux perl sftp perl-module password-protection