Сценарий SFTP получает другой целевой ответ, когда выполнено из различных каталогов

Я экранирован сценарием оболочки SFTP, и любая справка значительно ценилась бы. Я записал sftp сценарий, чтобы соединиться с и загрузить информацию ACH на банковский сайт. Использование сценария 'ожидает' ожидать ответов от удаленного сайта. Сценарий работает на сервере Redhat, выпуске 5.11.

Если я запускаю этот скрипт из своего корневого каталога или своего временного каталога, удаленный хост отвечает на вход в систему с "Паролем": и мой сценарий SFTP обычно работает. Если я запускаю этот скрипт из каталога, выделенного хранению сценариев оболочки, которые используются КРОНОМ, удаленный сервер отвечает, "Вводят пароль для ключа '/prod/apps/xxxxxx/batchjobs/ACRO_privatessh'", и мой сценарий SFTP зависает, поскольку ожидаемый ответ не соответствует тому, что отправляется от удаленного сервера.

Все другие части кроме каталога, из которого запущен скрипт, останьтесь равными. Это включает полномочия, владение и идентификатор пользователя, который выполняет сценарий. Другими словами я могу выполнить сценарий из нашего каталога пакетных заданий, где он зависает, потому что ответ сервера является 'неправильным'. Я могу затем скопировать тот сценарий в свой корневой каталог, и сценарий выполняется и завершается, потому что ответ сервера является 'правильным'.

Заранее спасибо за любую справку.

- Dan

1
задан 17 October 2015 в 00:22
1 ответ

Когда вы запускаете сценарий из домашнего каталога, временного каталога или из другого места, содержимое $ SFTPKEY недействительно (читайте: действительно не указывает на действительный приватный ключ), и поэтому не используется. Когда вы запускаете его из «обычного» дома, сценарий находит / prod / apps / xxxxxx / batchjobs / ACRO_privatessh и пытается его использовать. "$ (cd" $ (dirname "$ {BASH_SOURCE [0]}") "&& pwd) выводит имя каталога , в котором находится сценарий.

У вас есть пара опций:

  • используйте ключ, либо изменив сценарий, чтобы вы могли ввести пароль ключа; либо используя ssh-agent; либо используя ключ без пароля.
  • удалить ссылки на $ SFTPKEY из сценария
1
ответ дан 3 December 2019 в 23:58

Теги

Похожие вопросы