Ошибка: «ssh_exchange_identification: соединение закрыто удаленным хостом» при использовании задания cron

#git #ssh #cron #ssh-keys

#git #ssh #cron #ssh-ключи

Вопрос:

У меня есть задание cron, которое выполняется уже более года, которое добавляет файлы в git без проблем. По какой-то причине я начал замечать, что задание не выполняется со следующей ошибкой.

ssh_exchange_identification: Connection closed by remote host

Есть ли какая-то проблема с cron, из-за которой cron не будет иметь доступа к домашнему каталогу ssh-ключа, что приводит к сбою? Я не думаю, что каталог зашифрован.

 $ ls /home/cron/.ecryptfs
ls: cannot access '/home/cron/.ecryptfs': No such file or directory
  

Каждый раз, когда я захожу на сервер через SSH и запускаю скрипт, у меня нет проблем с его запуском. Есть идеи, что здесь может быть не так или что я могу сделать, чтобы устранить проблему с этой проблемой?

Комментарии:

1. Добавьте в cronjob для целей отладки log и добавьте в команду ssh более подробную с -vvv

2. ну, я напрямую не использую ssh, используя git, есть ли аналогичная команда для git?

3. сообщение /home/cron/.ecryptf ** Нет такого файла или каталога ** ИМХО, в пути ошибка.

Ответ №1:

Проверьте, применима ли одна из причин из «этой статьи«.

Я бы проверил, генерирует ли обычный сеанс SSH некоторый шум при входе в систему (что означает, что удаленный пользователь .bashrc / .profile напечатает несколько строк вместо того, чтобы молчать)

И я бы дважды проверил, что команда cron использует правильный закрытый ключ.