Как использовать 'rsync' для безопасного продвижения к зеркалу?

Эта конкретная проблема возникла, потому что JBoss, который прибывает связанный Liferay, сильно сокращен, но также и включает некоторые другие вещи, Вы не нашли бы в ванильном Jboss 5.1.0 экземпляра.

В этом случае была проблема с версиями Моста Портлета. Я упаковывал один, и был тот, обеспеченный Jboss Liferay.

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

0
задан 4 October 2013 в 11:42
3 ответа

Вы должны запустить rsync из вашего зеркала с вашим оригиналом в качестве источника.

В зависимости от вашего варианта использования вы должны либо запускать его как cronjob (периодический), либо как команду sshkey (выталкивание, инициированное вытягиванием, фактически проталкивание).

2
ответ дан 4 December 2019 в 11:29

Для синхронизации удаленного местоположения с локальным:

rsync -avze ssh user@source:/dir destination

Для rsync локального местоположения в удаленное местоположение:

rsync -avz source -e ssh user@destination:/dir

Из справочной страницы ( http: //linux.die .net / man / 1 / rsync ):

-a archive mode; e.g. copies permissions
-v verbose; in case you want to log what gets copied
-z compress during transfer
-e specify the remote shell to use; let's you use ssh

Чтобы заставить rsync работать без запроса пароля, вам необходимо настроить доверительные отношения между исходным и целевым серверами, сгенерировав rsa-ключи и введя их в соответствующие авторизованные ключи. Вот хороший учебник:

http://troy.jdmz.net/rsync/index.html

2
ответ дан 4 December 2019 в 11:29

В моем конкретном случае решение состоит в том, чтобы использовать rsync --rsh "ssh" для подключения в качестве пользователя, который должен владеть зеркалируемыми файлами и использовать конфигурацию ssh для chroot этого пользователя в надлежащую иерархию.

Рецепт примерно так, на целевом сервере:

useradd user
mkdir /home/user/srv/service
chown -R root:root /home/user

Grant user write permission to /srv/service

nano /etc/fstab

/srv/service /home/user/srv/service none bind 0 0

mount /srv/service

nano /etc/ssh/sshd_config

Match User user
ChrootDirectory %h

service ssh reload

nano /home/user/.ssh/authorized_keys

Add public key for remote user.

Наконец, из удаленной системы, как непривилегированный пользователь, отправьте данные в зеркало:

rsync --archive --rsh "ssh" --compress /srv/service/ user@server:/srv/service/
1
ответ дан 4 December 2019 в 11:29

Теги

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