К сожалению, мой план веб-хостинга не разрешает аутентификацию с открытым ключом. По-видимому, этот метод доступен только для пользователей VPS и выделенных серверов .
Я выполнил резервное копирование своей машины Ubuntu 11.10 с помощью Deja-Dup, и я отправляю резервные копии файлов на мой веб-хост с помощью rsync.
Я хотел бы автоматизировать этот процесс с помощью сценария, но, поскольку я не могу использовать аутентификацию с открытым ключом, я вынужден вручную копировать и вставлять мой (надежный) пароль SSH каждый раз, чтобы запустить процесс.
Есть ли способ обойти это? Если да, то как?
Если вам нужно ввести свой пароль, вам придется сделать это через expect
, потому что ssh настаивает на паролях, приходящих из терминала. Вот пример ожидаемого сценария.
Возможно, что хост отключил аутентификацию с открытым ключом, но это потребовало бы, чтобы они намеренно отключили его (с PubkeyAuthentication No
в /etc/sshd/sshd_config
). Нет технической причины, по которой они это делают, это было бы чисто для сегментации рынка.
Я рекомендую сначала попытаться заставить аутентификацию с открытым ключом работать. Выполните эту процедуру , чтобы сгенерировать и загрузить ключ. Не стесняйтесь спрашивать здесь, если что-то не работает; если вы сообщите нам, что вы пробовали и какие сообщения об ошибках вы получили, мы могли бы предложить обходной путь. Если у вас возникнут проблемы, опубликуйте конфигурацию sshd (/etc/sshd/sshd_config
, если на веб-хосте работает Ubuntu, возможно, в другом месте, например, /etc/sshd_config
, если на хосте запущен какой-то другой дистрибутив), и вывод ls -ld ~ ~/.ssh; ls -l ~/.ssh
.