Почему мое соединение SSH несанкционировано, хотя я обновил свой ключ на удаленной машине?

Ваш сценарий не перестал работать - он работает просто великолепно. Ваше понимание корректно в этом exec >logfile; exec 2>&1 перенаправления и стандартный вывод и стандартная погрешность к logfile. Так, необходимо смотреть в файле журнала и не терминале для вывода и ошибки. При выполнении тех перенаправлений непосредственно в текущей оболочке похоже, что оболочка заморозилась, потому что Вы отослали весь вывод от своего терминала.

Обратите внимание что вывод в xtrace (set -x) опция также переходит к стандартной погрешности, которая всегда является дескриптором файла 2..., который Вы отослали к файлу журнала. Необходимо найти остальную часть его после exec 2>&1 там.

1
07.04.2019, 11:03
2 ответа

попробуйте chmod 0600 ~/.ssh

И удостоверьтесь, что Ваши полномочия каталога действительны.

Я встретился с каталогами .ssh с??????? опции при выполнении ls-l из-за восстановления от резервных копий.

-2
28.01.2020, 02:13
  • 1
    Это неправильно. chmod 0600 ~/.ssh сделает его так, Вы не можете даже cd ~/.ssh больше. Вы, вероятно, имели в виду chmod 0700 ~/.ssh. –  dg99 08.11.2013, 21:15
  • 2
    .ssh журнала являетесь chmod 700 и .ssh/authorized_keys chmod 640. –  igiannak 14.06.2016, 00:50

Вам нужно будет удалить содержимое каталога удаленного хоста, иначе он не подтвердит новый ключ, и chmod 700 (не 600) обоих каталогов .ssh (локального и удаленного хоста).

После генерации новой пары ключей введите команду на локальном хосте cat .ssh/id_rsa.pub | ssh @ 'cat >> .ssh/authorized_keys' Это приведет к выводу авторизованных ключей на локальной машине и размещению их на удаленной машине. Более того, вам нужно убедиться, что у вас есть доступ RWX, а не просто RW.

0
28.01.2020, 02:13

Теги

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