- 论坛徽章:
- 0
|
我在用Net::SFTP连接SFTP服务器时,遇到一个奇怪的问题。
先上脚本片段:
$host = $rSelectInfoRef->[0][2];
$user = $rSelectInfoRef->[0][3];
$password = $rSelectInfoRef->[0][4];
print "[DEBUG] $host|$user|$password|\n";
my $sftp;
eval {
$sftp = Net::SFTP->new($host, user=>$user, password=>$password);
};
if( $@ ) {
print "[ERROR] $@";
exit -1;
}
我的脚本要实现一个简单的逻辑,从oracle中获取SFTP服务器的连接信息,然后使用Net::SFTP连接服务器进行一些操作,但是运行的时候出现报错:
Connection closed by remote host. at /usr/local/lib64/perl5/Net/SSH/Perl/AuthMgr.pm line 165
但是,奇怪的是,我修改了脚本,在程序中直接对SFTP连接信息赋值,程序又能成功运行,数据库中的值和我直接赋值的值是完全一样的(确认过很多遍),希望大家能帮忙看下这个问题。
# 将数据库取值注释,改为直接赋值
#$host = $rSelectInfoRef->[0][2];
#$user = $rSelectInfoRef->[0][3];
#$password = $rSelectInfoRef->[0][4];
$host = "168.16.5.110";
$user = "test";
$password = "000000";
print "[DEBUG] $host|$user|$password|\n";
my $sftp;
eval {
$sftp = Net::SFTP->new($host, user=>$user, password=>$password);
};
if( $@ ) {
print "[ERROR] $@";
exit -1;
}
|
|