Сбой проверки ключа хоста с помощью sshpass rsync

На моем сервере Linux я запускаю команду:

sshpass -p 'password' rsync -avz /source/folder/ root@192.168.x.x:/dest/folder

Когда я запускаю команду без sshpass, она выдает подсказки для аутентификации хоста и пароль.

Мне нужен какой-то эквивалент "-o StrictHostKeyChecking=no" (который я использую для ssh), который позволит мне запускать это без подсказок или ошибок.

Все, что я видел по поиску, было о ssh, выдававшем ошибку, а не rsync.

5 ответов

Решение

Я нашел следующую команду на cyberciti. Это позволило мне сделать именно то, что мне было нужно.

$ rsync --rsh="sshpass -p myPassword ssh -o StrictHostKeyChecking=no -l username" server.example.com:/var/www/html/ /backup/

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

Простейший способ получить известные узлы, заполненные ключом узла сервера, использует

ssh-keyscan server-ip >> ~/.ssh/known_hosts

После этого вам не нужно использовать StrictHostKeyChecking=no обходной путь.

Это правильная команда без ошибок вывода:

sshpass -p "yourpassword" rsync -rvz -e 'ssh -o StrictHostKeyChecking=no -p 22' --progress  root@111.111.111.111:/backup/origin /backup/destination/

В некоторых случаях попытки sshpass находят "assword" в качестве индикатора запроса пароля по умолчанию. Но rsync может вернуть похожую строку:

Enter passphrase for key '/home/user/.ssh/private_user_key':

Итак, попробуйте добавить параметр '-P':

sshpass -p "yourpassword" -P 'Enter passphrase for key' rsync 111.111.111.111:/backup/origin /backup/destination/

Путь к вашему личному ключу вы можете установить в /home/user/config или установить с помощью параметра -e следующим образом:

sshpass -p "yourpassword" -P 'Enter passphrase for key' rsync -e 'ssh -i /home/user/.ssh/private_user_key' 111.111.111.111:/backup/origin /backup/destination/

Больше информации об индикаторе запроса пароля по умолчанию:

$ sshpass -V
sshpass 1.06
(C) 2006-2011 Lingnu Open Source Consulting Ltd.
(C) 2015-2016 Shachar Shemesh
This program is free software, and can be distributed under the terms of the GPL
See the COPYING file for more information.

Using "assword" as the default password prompt indicator.

Попробуйте сначала подключиться, просто используя только ssh , затем опубликуйте его на известных хостах, попробуйте sshpass и т. Д. По мере необходимости.

В моем случае я выполнил новую чистую установку дистрибутива linux и установил sshpass, и он начал выдавать ошибки, все они исчезли, как только я сначала подключился через ssh и добавил IP-адрес удаленного сервера в известные хосты.

Другие вопросы по тегам