Я пытаюсь настроить очень простой bash-скрипт на Ubuntu, который SFTP-сообщения к конкретному серверу с использованием аутентификации с открытым ключом. Когда я запускаю команду прямо в командной строке, она работает как шарм:

debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/xxx/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 279

Когда я помещаю ту же команду в скрипт bash, а затем запускаю этот скрипт, открытый ключ не принимается, и он переходит к следующей аутентификации.

debug1: Offering RSA public key: /home/xxx/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: password,publickey,keyboard-interactive

Команда, которую я пытаюсь выполнить, очень проста, ничего особенного:

sftp -vvv user@domain.com

Любые идеи о том, что вызывает это?

1 ответ1

0

Попробуйте явно указать путь к файлу с закрытым ключом, используя параметр -oIdentityFile =/path/to/id_rsa

пример :

sftp -oBatchMode=no -oIdentityFile=/home/username/.ssh/id_rsa -b - username@192.168.1.2 << !
   cd /directory
   put filename.txt
   bye
!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .