I am copying the files from one host to another using:
Net:scp::Except;
here is my script
使用严格; 使用Net :: SCP :: Expect;
打印"输入用户名\ n&#34 ;; 我的$ username =<&gt ;;
打印"输入密码\ n&#34 ;; 我的$ pass =<&gt ;;
打印"输入主机名\ n&#34 ;; 我的$ host =<&gt ;;
我的$ src_path =" /&#34 ;; 我的$ dst_path =" /&#34 ;;
my $ scpe = Net :: SCP :: Expect-> new(user => $ username,password => $ pass,auto_yes =>' 1'); $ scpe-> scp($ host。":"。$ src_path,$ dst_path);
getting error like bad password
答案 0 :(得分:1)
您正在从STDIN接收这些变量,并且它们都包含尾随\n
。在使用之前,您需要chomp
:
chomp ($username,$pass,$host);
my $scpe = Net::SCP::Expect->new(user=>$username, password=>$pass, auto_yes=> '1');
$scpe->scp($host.":".$src_path, $dst_path);
Net :: SCP :: Expect使用从您的参数缝合在一起的命令行来运行scp程序。因此,如果不采取措施,它将被有效地截断为scp yourusername