Ваш сценарий не перестал работать - он работает просто великолепно. Ваше понимание корректно в этом exec >logfile; exec 2>&1
перенаправления и стандартный вывод и стандартная погрешность к logfile
. Так, необходимо смотреть в файле журнала и не терминале для вывода и ошибки. При выполнении тех перенаправлений непосредственно в текущей оболочке похоже, что оболочка заморозилась, потому что Вы отослали весь вывод от своего терминала.
Обратите внимание что вывод в xtrace
(set -x
) опция также переходит к стандартной погрешности, которая всегда является дескриптором файла 2..., который Вы отослали к файлу журнала. Необходимо найти остальную часть его после exec 2>&1
там.
попробуйте chmod 0600 ~/.ssh
И удостоверьтесь, что Ваши полномочия каталога действительны.
Я встретился с каталогами .ssh с??????? опции при выполнении ls-l из-за восстановления от резервных копий.
Вам нужно будет удалить содержимое каталога удаленного хоста, иначе он не подтвердит новый ключ, и chmod 700 (не 600) обоих каталогов .ssh (локального и удаленного хоста).
После генерации новой пары ключей введите команду на локальном хосте cat .ssh/id_rsa.pub | ssh
Это приведет к выводу авторизованных ключей на локальной машине и размещению их на удаленной машине. Более того, вам нужно убедиться, что у вас есть доступ RWX, а не просто RW.
chmod 0600 ~/.ssh
сделает его так, Вы не можете дажеcd ~/.ssh
больше. Вы, вероятно, имели в видуchmod 0700 ~/.ssh
. – dg99 08.11.2013, 21:15