Я хочу сделать резервную копию с Synology DiskStation (DSM 6.0.2-8451 Update 9) на сервер CentOS6, используя Rsync через SSH.

Конфигурация сервера CentOS6

/etc/rsyncd.conf

uid = root
gid = root
max connections = 10
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
auth users = synology
secrets file = /etc/rsyncd.secrets
max verbosity = 2
transfer logging = yes

[synology1]
path = /mnt/disk/synology/
hosts allow = xxx.xxx.xxx.xxx (Synology server's IP)
list = true
read only = no

/etc/xinetd.d/rsync

service rsync
{
    disable = no
    flags           = IPv6
    socket_type     = stream
    wait            = no
    user            = root
    server          = /usr/bin/rsync
    server_args     = --daemon
    log_on_failure  += USERID
}

В моей системе также существует системный пользователь с именем «synology», пароль которого равен «synology» пользователя rsync, предоставленного в /etc/rsyncd.secrets.

Я пытаюсь это с сервера Synology:

rsync -av /tmp/try/ synology@xxx.xxx.xxx.xxx::synology1 -e 'ssh -v'

и получить:

OpenSSH_6.8p1-hpn14v6, OpenSSL 1.0.2j-fips 26 сентября 2016
debug1: Соединение с xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx] портом xxxxx.
debug1: соединение установлено.
debug1: key_load_public: нет такого файла или каталога
debug1: файл идентификации /var/services/homes/admin/.ssh/id_rsa тип -1
debug1: key_load_public: нет такого файла или каталога
debug1: файл идентификации /var/services/homes/admin/.ssh/id_rsa-cert тип -1
debug1: key_load_public: нет такого файла или каталога
debug1: файл идентификации /var/services/homes/admin/.ssh/id_dsa тип -1
debug1: key_load_public: нет такого файла или каталога
debug1: файл идентификации /var/services/homes/admin/.ssh/id_dsa-cert тип -1
debug1: key_load_public: нет такого файла или каталога
debug1: файл идентификации /var/services/homes/admin/.ssh/id_ecdsa тип -1
debug1: key_load_public: нет такого файла или каталога
debug1: файл идентификации /var/services/homes/admin/.ssh/id_ecdsa-cert тип -1
debug1: key_load_public: нет такого файла или каталога
debug1: файл идентификации /var/services/homes/admin/.ssh/id_ed25519 тип -1
debug1: key_load_public: нет такого файла или каталога
debug1: файл идентификации /var/services/homes/admin/.ssh/id_ed25519-cert тип -1
debug1: включение режима совместимости для протокола 2.0
debug1: строка локальной версии SSH-2.0-OpenSSH_6.8p1-hpn14v6
debug1: удаленный протокол версии 2.0, удаленная версия программного обеспечения OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH_5 * compat 0x0c000000
debug1: Remote не поддерживает HPNN
debug1: SSH2_MSG_KEXINIT отправлено
debug1: SSH2_MSG_KEXINIT получено
debug1: AUTH STATE IS 0
debug1: ЗАПРОШЕНО ENC.NAME - это 'aes128-ctr'
debug1: kex: сервер-> клиент aes128-ctr umac-64@openssh.com нет
debug1: ЗАПРОШЕНО ENC.NAME - это 'aes128-ctr'
debug1: kex: клиент-> сервер aes128-ctr umac-64@openssh.com нет
debug1: отправлено сообщение SSH2_MSG_KEX_DH_GEX_REQUEST(1024 <3072 <8192)
debug1: получил SSH2_MSG_KEX_DH_GEX_GROUP
debug1: отправлено сообщение SSH2_MSG_KEX_DH_GEX_INIT
debug1: получил SSH2_MSG_KEX_DH_GEX_REPLY
debug1: ключ хоста сервера: ssh-rsa SHA256: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /xxxxxxxxxxxx
debug1: Хост «xxx.xxx.xxx.xxx» известен и соответствует ключу хоста RSA.
debug1: найден ключ в /var/services/homes/admin/.ssh/known_hosts:1
debug1: отправлено сообщение SSH2_MSG_NEWKEYS
debug1: ожидается SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS получено
debug1: SSH2_MSG_SERVICE_REQUEST отправлено
debug1: SSH2_MSG_SERVICE_ACCEPT получено
debug1: аутентификации, которые могут продолжаться: publickey, gssapi-keyex, gssapi-with-mic, пароль
debug1: следующий метод аутентификации: publickey
debug1: пробуем закрытый ключ: /var/services/homes/admin/.ssh/id_rsa
debug1: пробуем закрытый ключ: /var/services/homes/admin/.ssh/id_dsa
debug1: пробуем закрытый ключ: /var/services/homes/admin/.ssh/id_ecdsa
debug1: пробуем закрытый ключ: /var/services/homes/admin/.ssh/id_ed25519
debug1: следующий метод аутентификации: пароль
пароль synology@xxx.xxx.xxx.xxx:
debug1: аутентификация прошла успешно (пароль).
Аутентифицировано в xxx.xxx.xxx.xxx ([xxx.xxx.xxx.xxx]: xxxxx).
debug1: подключение HPN к не-HPN
debug1: Final hpn_buffer_size = 2097152
debug1: HPN отключено: 0, размер буфера HPN: 2097152
debug1: канал 0: новый [клиент-сессия]
debug1: включено динамическое масштабирование окна
debug1: запрос no-more-sessions@openssh.com
debug1: вход в интерактивный сеанс.
debug1: отправка команды: rsync --server --daemon.
debug1: client_input_channel_req: канал 0 rtype ответ о состоянии выхода 0
debug1: client_input_channel_req: канал 0 rtype eow@openssh.com ответ 0
debug1: канал 0: свободный: клиент-сессия, nchannels 1
debug1: очистка fd 0 O_NONBLOCK
debug1: очистка fd 1 O_NONBLOCK
Передано: отправлено 2872, получено 2544 байта, за 0,2 секунды
Байт в секунду: отправлено 14501,0, получено 12844,9
debug1: выход из состояния 1
Ошибка rsync: служба rsync не запущена (код 43) на io.c (687) [отправитель = 3.0.9]

Оооо, я озадачен после различных попыток и часов размытого поиска в Google. Несколько вопросов ради меня!

1/ действительно ли я должен иметь ту же учетную запись (пользователя / пароль) в моей системе CentOS и в конфигурации rsync, чтобы иметь возможность rsync через ssh?

2/ что вызывает мою « ошибку rsync: служба rsync не работает »? любая идея?

Спасибо за любую помощь!

2 ответа2

1

Возможно, вы пытаетесь объединить 2 слегка отличающихся использования rsync в качестве демона. Конфигурация вашего сервера будет отвечать на запросы через порт 873 rsync, тогда как ваша команда соединяется с -e ssh и поэтому вместо этого запускает rsync --server --daemon по этому соединению. Если вы посмотрите на страницу справочника для --config=FILE то там упоминается

По умолчанию используется /etc/rsyncd.conf, если только демон не работает в удаленной оболочке и удаленный пользователь не является суперпользователем; в этом случае по умолчанию используется rsyncd.conf в текущем каталоге (обычно $ HOME)

В вашем случае вы, похоже, используете пользовательскую synology , поэтому файл rsyncd.conf, вероятно, должен находиться в каталоге ~synology/ .

0

1/ действительно ли я должен иметь ту же учетную запись (пользователя / пароль) в моей системе CentOS и в конфигурации rsync, чтобы иметь возможность rsync через ssh?

Нет, конечно нет.

2/ что вызывает мою «ошибку rsync: служба rsync не работает»? любая идея?

На сервере нет службы rsync работающей на сервере. Скорее всего, вы пропустите эту часть (согласно этому уроку):

/etc/rc.d/init.d/xinetd start 

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