Я использую rdiff-backup для отправки инкрементных резервных копий на мой локальный сервер. Мой хост - Windows, а мой удаленный компьютер - Linux. Я пытаюсь заставить мой скрипт выполнить следующее:

command = os.system('rdiff-backup --exclude "**.dropbox**" --exclude "**.ini**" --remote-schema "ssh -i C:/Users/Adam/.ssh/id_rsa %s -p1019 rdiff-backup --server" C:/Users/Adam/Dropbox pi@192.168.0.5::/mnt/disk1/Adam/Dropbox')

Тем не менее, во время выполнения я повышен с:

Could not create directory '/home/Adam/.ssh'. The authentictity of host '[192.168.0.5]:1019 ([192.168.0.5]:1019)' can't be established. RSA key fingerprint is 2e:7c:f0:0c:4b:8d:fa:e1:21:a1:32:81:a0:e1:11:11. Are you sure you want to continue connecting (yes/no)?

Я думал, что опция -i C:/Users/Adam/.ssh/id_rsa это? Нецелесообразно запрашивать это при выполнении скрипта. Как я могу обойти это, поддерживая аутентификацию и безопасность (так как скоро я напишу аналогичный скрипт для моего ноутбука, но для отправки инкрементных резервных копий через общедоступные и удаленные машины)?

Обновить:

Пожалуйста, прочитайте ответ Гравити вместе с комментариями, чтобы помочь себе понять, где я ошибся и как я это исправил - конечно, с помощью Гравити. Чтобы решить проблему с сообщением Cygwin « Cannot create directory /home/USERNAME/.ssh просмотрите этот пост в блоге.

Msgstr "Сначала найдите файл с именем passwd в вашем каталоге C:\path\to\cygwin\etc и откройте его с помощью wordpad. Во-вторых, замените текст /home/YOUR_NAME на /cygdrive/c/Documents and Settings/YOUR_NAME Наконец, сохраните файл. "

3 ответа3

0

Я была такая же проблема. SSH MINGW на самом деле является домом для пути /home//.ssh

Поместите ваши конфиги SSH туда, и это будет работать

0

Что ты видишь ...

The authentictity of host '[192.168.0.5]:1019 ([192.168.0.5]:1019)' can't be established.

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

Обычно приглашение является однократным, поскольку открытый ключ сервера хранится в ~/.ssh/known_hosts . Однако, в вашем случае, ssh не может создать этот файл, потому что он не может создать родительский каталог:

Could not create directory '/home/Adam/.ssh'.

Скорее всего, это не сработает, потому что /home/Adam не существует или потому, что /home/Adam/.ssh - это нечто иное, чем каталог. Попробуйте создать его вручную, используя mkdir .

(Также: помогает чтение сообщений об ошибках.)

0

Вам нужно проверить свои ~/.ssh/known_hosts на предмет записи 192.168.0.5, которая могла измениться.

Это является частью механизма безопасности на стороне клиента ssh. Пожалуйста, обратитесь к документации ssh и man-странице для получения дополнительной информации. Там нет быстрого доступа к пониманию безопасности, разместив вопросы на superuser.com и co.

Однако, если ваш вопрос заключался в том, как перезаписать и преднамеренно игнорировать это, добавьте этот параметр в командную строку:

ssh -o StrictHostKeyChecking=no <...>

(И, пожалуйста, не вините меня за последствия этого.)

Повеселись.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .