Чтение файла с удаленного хоста с использованием perl

Я пытаюсь прочитать файл (temp.txt), помещенный в каталог /root на удаленном хосте (ubuntu) в той же локальной сети с компьютера с Ubuntu (открыты ssh и ftp). Perl-скрипт может подключиться, и появляется диалоговое окно OpenSSH. просим пароль и тогда программа существует. Пожалуйста, кто-нибудь поможет.. ниже мой сценарий.

use POSIX qw(strftime);
use strict;
use warnings;


use File::Remote;
 my $remote = new File::Remote;

# Standard filehandles
$remote->open(FILE, ">>X.X.X.X:/root/temp.txt") or die $!;
print FILE "Here's a line that's added.\n";
$remote->close(FILE);

я получаю ошибку ниже, когда выполняется.

Bareword "FILE" not allowed while "strict subs" in use at /root/Desktop/test.pl line 10.
Bareword "FILE" not allowed while "strict subs" in use at /root/Desktop/test.pl line 12.
Execution of /root/Desktop/test.pl aborted due to compilation errors.

1 ответ

Решение

Вы должны установить sh open keys, чтобы иметь доступ к XXXX без пароля.

$ ssh-keygen
$ ssh-copy-id -i ~/.ssh/id_rsa.pub X.X.X.X

Чем вы можете попытаться получить доступ к хосту с помощью ssh:

$ ssh X.X.X.X 

И добавьте пожалуйста что-то вроде

local *FILE;

в начале файла, чтобы избавиться от этих предупреждений о голом слове.

Другие вопросы по тегам