Ввод Пароля на сценарии для rsync для входа в систему в удаленный сервер для завершения rsync

Я пытаюсь сделать .sh файл, который cronjob будет иногда выполнять, который делает автоматический rsync. Это - то, как мой файл смотрит до сих пор:

#!/bin/bash

subdir=`hostname`

rsync -ah -e 'ssh -p 48180' /home/user/test 
user@10.3.10.110:/var/www/html/xgplayer/events/"$subdir" -y

Это - одна команда, должен был сократить его в половине, потому что это было слишком длинно для одной строки.

У меня есть он набор для создания подкаталога, базирующегося прочь имени хоста машины (скажите мне, если это выглядит хорошим также, я основываю это от кода, используемого для немного отличающейся цели), к которому у того пользователя действительно есть доступ. (Я просто позвонил пользовательскому пользователю по причинам, проигнорируйте это),

Что мой вопрос, это будет, что-y имеют его, автоматически соглашаются сохранить ssh ключ как, я пытаюсь иметь его, делают? Кроме того, как у меня есть он, автоматически ввел пароль посредством команды, которую я пытаюсь выполнить в ssh, когда это пытается войти как тот пользователь в rsync файлы? Я думал, что было что-то как - который мог сделать это. Любая справка ценилась бы :)

Я выполняю Сервер Ubuntu 16.04 LTS на обеих машинах, если это помогает.

Править: Для не супер приема, но безотносительно, решение, также должен смочь быть помещенным в .sh файл и выполняет себя без ввода данных пользователем, это для очень определенной задачи, извините.

Редактирование 2: Делая это согласно запросу кого-то помогающего мне, таким образом, я не могу предоставить снимки экрана, к сожалению, но это просит пароль для пользователя на 10.3.10.110 каждый раз, когда я работаю, rsync управляют, чтобы я перечислил, и каждый раз, когда я выполняю ssh-keygen на новом клиенте, пытающемся генерировать ключ для того пользователя в той машине. Приложение, для которого я пытаюсь использовать это, требует, чтобы это было автоматизировано полностью, который является, почему это - проблема.

Редактирование 2.5: После того как я выполняю keygen и ssh-copy-id, он больше не запрашивает пароль в rsync, но это будет реализованным через многие машины, и для этого проекта, я не возражаю помещать машины в некоторой установке .sh файл, но те команды требуют исходных данных, которые должны были бы быть автоматизированы для меня для использования для моего конкретного случая.

Редактирование 3: я комментирую много, потому что у меня нет достаточного количества представителя для обсуждения непосредственно с людьми, пытающимися помочь мне, в новинку для этого сайта все еще.

1
задан 7 June 2018 в 19:20

2 ответа

Я нашел свой собственный ответ, делающий еще некоторое рытье в него, я отправлю ответ на то, как это может быть полностью автоматизировано наряду с парой полезных ссылок, которые помогли мне приехать в это:

#!/bin/bash


subdir=`hostname`

rsync -ah -e 'sshpass -p "password" ssh -p 48180 -o 
StrictHostKeyChecking=no' /var/www/html/xgplayer/events 
user@10.3.10.110:/var/www/html/xgplayer/events/"$subdir" 

Та команда Rsync является всей одной командой. Ссылки, которые помогли:

https://unix.stackexchange.com/questions/33271/how-to-avoid-ssh-asking-permission https://unix.stackexchange.com/questions/111526/rsync-without-prompt-for-password (Второй, более высокий проголосовавший ответ закончил тем, что был более полезным, чем "лучший" ответ),

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

Благодаря всем, кто пытался помочь, Вы, парни действительно помогали регулировать меня в правильных направлениях по большей части!:)

1
ответ дан 7 December 2019 в 13:23

Используйте опцию: --password-file=rsync_pass

rsync -ah -e 'ssh -p 48180' --password-file=rsync_pass /home/user/test user@10.3.10.110:/var/www/html/xgplayer/events/"$subdir" -y

Файл rsync_pass содержит пароль пользователя.

1
ответ дан 7 December 2019 в 13:23

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

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