Maverick143 дал ответ, но этот вопрос на самом деле не относится к StackOverflow, поскольку он имеет мало общего с программированием. SuperUser.com был бы более актуальным.
Выполните rsync, чтобы убедиться, что он запрашивает пароль для вашей учетной записи на
удаленный сервер, и успешно копирует файлы на удаленный
сервер.
Следующий пример синхронизирует локальную папку /home/test в удаленную папку /backup/test (на 192.168.200.10 сервер).
Это должно попросить вас пароль вашей учетной записи на удаленном
сервер.
Теперь настройка ssh чтобы он не запрашивал пароль при выполнении
SSH. использование ssh-keygen на локальном сервере для генерации общего и частного
ключи.
$ ssh-keygen
Введите фразу-пароль (пусто, без пароля):
Введите тот же пароль еще раз: Примечание: когда он просит вас ввести
парольную фразу просто нажмите клавишу ввода, и не вводите пароль здесь.
3. ssh-copy-id копирует открытый ключ на удаленный хост
использование ssh-copy-id, чтобы скопировать открытый ключ на удаленный хост.
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.200.10
Примечание: выше будет спрашивать пароль для вашей учетной записи на удаленном
и скопируйте открытый ключ автоматически в соответствующий
место нахождения. Если ssh-copy-id не работает для вас, используйте метод, который мы
обсуждалось ранее, чтобы настроить пароль SSH минус логин.
4. Выполните rsync через ssh без пароля
Теперь вы должны быть в состоянии подключиться к удаленному хосту без входа в
пароль.
ssh 192.168.200.10
Выполните rsync еще раз, он не должен попросить вас ввести пароль
этот раз.
Если вам нужно использовать другого пользователя, вы можете сделать это при выполнении ssh-copy-id: ssh-copy-id -i ~ / .ssh / id_rsa.pub user@192.168.200.10
Finni McFinger
1
Генерация открытого ключа на сервере
$ ssh-keygen
$ Enter passphrase (empty for no passphrase):
$ Enter same passphrase again:
Открытый ключ будет создан и сохранен в
~/.ssh/id_rsa.pub
Скопируйте открытый ключ на удаленный хост
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.100
Или же
Откройте id_rsa.pub, скопируйте содержимое
Войдите в систему ServerB, используя того же пользователя в команде rsync
В ServerB добавьте содержимое к ~/.ssh/authorized_keys, Создайте файл, если он не существует. Убедитесь, что режим файла 700.
Все эти предложения rsync не работают с последней версией в августе 2017 года на Ubuntu 16.04 LTS. Ни один из них не работает.
Кроме того, все они разделяют недостаток необходимости запуска демона rsync на файловом сервере.
Этот ответ работает с обычным Linux NAS
ЗДЕСЬ ШАГИ: 1) ИСПОЛЬЗУЙТЕ rsync, как показано ниже.
(в каталог под / mnt или / media, который вы создали или на устройстве, которое вы
крепление. не важно какой)
2) Передача файлов с помощью scp, как показано ниже. FileZilla тоже будет работать.
Все это (кроме FileZilla) может работать в cron без пароля.
Эта настройка работает очень хорошо. Единственный раз, когда вам нужен пароль, - это когда вы устанавливаете начальный ssh-copy-id для настройки входа без пароля RSA. Затем вы программируете его в FileZilla один раз. После этого день ото дня никаких парольных запросов не происходит. Это просто. И самое приятное, что вы можете использовать все преимущества программы rsync.
Этот ответ объясняет, как использовать сам rsync без пароля.
Кроме того, нет необходимости устанавливать еще один демон (rsync) в любой системе.
У меня есть второй жесткий диск, поэтому я использую rsync для копирования загрузочного диска в подкаталог на sdb1 (смонтированный в / mnt и исключенный из rsync).
Если у вас нет физического жесткого диска и достаточно свободного места, вы просто создаете подкаталог в / mnt (или / media) и используете его.
Пока каталог исключен, не имеет значения, находится он на отдельном диске или нет.
Вот скрипт резервного копирования:
cls
echo "EMPTYING TRASH"
rm ~/.local.share/Trash/*
echo "====================================================================="
echo " BEGINNING rsync from root to /mnt/full/sysbkp"
echo "====================================================================="
time sudo rsync -aAXv / --delete --ignore-errors --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /mnt/full/mysystem
ПОСЛЕ rsync используйте скрипт:
Я всегда создаю новый каталог на целевом сервере NASserver: / mnt / fullsys / mysystem, чтобы передавались только соответствующие файлы.
Вуаля! Это займет некоторое время, но потом это будет сделано.
Оба скрипта могут нормально работать в cron.
Альтернативой является использование FileZilla для отправки на сервер NAS вручную.
Так как могут быть удаления, я всегда make a new directory and enter it через FileZilla на целевом жестком диске объемом 1 ТБ, поэтому передаются только соответствующие файлы.
Только после завершения передачи я удаляю старую версию.
Хотя это может ответить на вопрос, было бы лучше, если бы вы могли дать некоторые объяснения Зачем это так.
DavidPostill
Также синтаксис. Я считаю, что это используется в качестве подстановки команд примерно так: rsync -aAVx $(ssh-copy-id -i /home/myusername/.ssh/id_rsa.pub) тогда все excludes а также --delete и т.д. Я еще не заставил это работать, но это самое близкое, что я видел. Возможно, вы должны сделать это, даже если вы уже можете ssh а также scp на целевой сервер, и демон rsync должен быть запущен, потому что он не использует нормальный формат sftp. Я все еще ищу.
Ответы:
Ниже статья из Geek Stuff :
источник
Генерация открытого ключа на сервере
Открытый ключ будет создан и сохранен в
Скопируйте открытый ключ на удаленный хост
Или же
~/.ssh/authorized_keys
, Создайте файл, если он не существует. Убедитесь, что режим файла 700.источник
Все эти предложения rsync не работают с последней версией в августе 2017 года на Ubuntu 16.04 LTS. Ни один из них не работает.
Кроме того, все они разделяют недостаток необходимости запуска демона rsync на файловом сервере.
Этот ответ работает с обычным Linux NAS
ЗДЕСЬ ШАГИ:
1) ИСПОЛЬЗУЙТЕ rsync, как показано ниже. (в каталог под / mnt или / media, который вы создали или на устройстве, которое вы крепление. не важно какой) 2) Передача файлов с помощью scp, как показано ниже. FileZilla тоже будет работать.
Все это (кроме FileZilla) может работать в cron без пароля.
Эта настройка работает очень хорошо. Единственный раз, когда вам нужен пароль, - это когда вы устанавливаете начальный ssh-copy-id для настройки входа без пароля RSA. Затем вы программируете его в FileZilla один раз. После этого день ото дня никаких парольных запросов не происходит. Это просто. И самое приятное, что вы можете использовать все преимущества программы rsync.
Этот ответ объясняет, как использовать сам rsync без пароля.
Кроме того, нет необходимости устанавливать еще один демон (rsync) в любой системе.
Если вы еще этого не сделали, сделайте это:
и проверить это с этим:
и может быть что-то вроде этого:
У меня есть второй жесткий диск, поэтому я использую rsync для копирования загрузочного диска в подкаталог на sdb1 (смонтированный в / mnt и исключенный из rsync).
Если у вас нет физического жесткого диска и достаточно свободного места, вы просто создаете подкаталог в / mnt (или / media) и используете его.
Пока каталог исключен, не имеет значения, находится он на отдельном диске или нет.
Вот скрипт резервного копирования:
ПОСЛЕ rsync используйте скрипт:
Вуаля! Это займет некоторое время, но потом это будет сделано.
Оба скрипта могут нормально работать в cron.
Альтернативой является использование FileZilla для отправки на сервер NAS вручную.
Только после завершения передачи я удаляю старую версию.
Вуаля. Успех.
источник
лучше пометить пользователя по адресу
источник
rsync -aAVx $(ssh-copy-id -i /home/myusername/.ssh/id_rsa.pub)
тогда всеexcludes
а также--delete
и т.д. Я еще не заставил это работать, но это самое близкое, что я видел. Возможно, вы должны сделать это, даже если вы уже можетеssh
а такжеscp
на целевой сервер, и демон rsync должен быть запущен, потому что он не использует нормальный формат sftp. Я все еще ищу.