LINUX.ORG.RU

Net::SFTP Permission denied (password,publickey,keyboard-interactive)

 ,


0

1

Добрый день. Пытаюсь создать SFTP соединение. для подключения используется модуль PERL Net::SFTP::Foreign. Есть ключ key.pub (chmod 600) Подключение происходит с параметрами:

my %param = (
   host => $host,
   port => 22,
   user => $username,
   key_path => "$ENV{DOCUMENT_ROOT}/cgi-bin/sftp/key.pub"
   more => ['-vvv', 
    -o => 'PubkeyAuthentication yes',
    -o => 'PasswordAuthentication no',
    -o => 'PreferredAuthentications publickey',
   ],
);

На выходе получаю ошибку:

[Fri Feb 17 04:19:33.159278 2023] [cgi:error] [pid 27601] [client 184.69.79.222:54642] AH01215: Put failed: Connection to remote server is broken: /home/hosting1/public_html/cgi-bin/cron/sftp.pl
[Fri Feb 17 04:19:33.156865 2023] [cgi:error] [pid 27601] [client 184.69.79.222:54642] AH01215: Permission denied (password,publickey,keyboard-interactive).\r: /home/hosting1/public_html/cgi-bin/cron/sftp.pl

Благодарю за помощь



Последнее исправление: miragex (всего исправлений: 3)

Ответ на: комментарий от shell-script

Добрый день Нам выдали только этот файл ключа с расширением .pub Получается, что это не тот ключ для этого модуля? Раньше у нас было соединение, с использованием этого же модуля: Login-Password и всё работало на «Ура!». Недавно нам передали этот файл и сказали, что все подключения только через него.

miragex
() автор топика
Ответ на: комментарий от miragex

По-видимому, key.pub это публичный ключ сервера, к которому вы хотите подключаться. Его нужно добавить в ~/.ssh/known_hosts (содержимое должно представлять собой строку вида «<имя хоста> <алгоритм> <строка с base64>»)

Для подключения еще нужно сгенерировать клиентский ключ с помощью ssh-keygen. Параметр key_path как раз про клиентский ключ. Но если он будет сгенерирован ssh-keygen и лежать по стандартному пути со стандартным именем (~/.ssh/id_*), то ssh и так его найдет.

annulen ★★★★★
()