Задать вопрос
fdroid
@fdroid
press any key

Как настроить автоматический ввод пароля RSA-ключа?

Здравствуйте. Требуется настроить резервное копирование по rsync с NAS под управлением Nas4Free на NAS Synology. Авторизацию SSH по ключу RSA я настроил на N4F, ключ под паролем. Нашёл скрипт, выполняемый на Synology, для решения указанной задачи:
#!/bin/sh
USER="username"
SERVER="server.name"
PORT="22"
SSHID="/volume1/homes/admin/backups/websites/.ssh/id_rsa"
SOURCE="/home/username/public_html/"
TARGET="/volume1/homes/admin/backups/websites/sitename/"
LOG="/volume1/homes/admin/backups/websites/logs/sitename.log"

/usr/syno/bin/rsync -avz --delete --progress -e "ssh -p $PORT -i $SSHID" $USER@$SERVER:$SOURCE $TARGET >> $LOG 2>&1


Теперь пояснения.
username - имя пользователя, которое используется для доступа на удалённый сервер по SSH.
server.name - доменное имя удалённого сервера, с которого будем копировать файлы на NAS
PORT - порт для доступа на удалённый сервер по SSH
SSHID - путь к файлу id_rsa "закрытого" ключа, который мы сохранили на NAS.
SOURCE - абсолютный путь на удалённом сервере к той директории, которую мы будем копировать на NAS.
TARGET - абсолютный путь к директории NAS, в которую всё копируем. На директорию нужно выставить права на запись.
LOG - вывод rsync будем писать в логи, поможет выловить проблемы, если они возникнут. В переменной LOG путь к файлу. Файл пусть будет называться sitename.log

Последняя строка - сама команда, которая будет выполнять синхронизацию удалённой директории на NAS. Как она должна выглядеть - зависит исключительно от Ваших желаний. Чтобы получить все ключи rsync, зайдите на свой NAS по SSH и выполните команду
(пояснения автора скрипта)

rsync -h > /volume1/homes/admin/backups/websites/rsync_help.txt


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

Вопрос: как изменить скрипт чтобы в нём учитывался пароль ключа?
  • Вопрос задан
  • 369 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
DevMan
@DevMan
как правило в таких случаях как раз используют ключи без пароля.
можно попробовать вводить пароль при помощи утилиты expect, но:
1. не факт, что она существует для вашего наса.
2. сам смысл затеи не понятен.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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