[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4688: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4690: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4691: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4692: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
Foro del Spanish Hell Clan - Ver Tema - [How to] Configurar rsync con ssh en Windows XP con cwRsyncS
[SPH] Spanish Hell Clan
Fecha actual Lun Mar 16, 2026 9:35 am




Nuevo tema Responder al tema  [ 1 mensaje ] 
 [How to] Configurar rsync con ssh en Windows XP con cwRsyncS 
Autor Mensaje
Teniente Coronel
Teniente Coronel
Avatar de Usuario

Registrado: Sab Dic 30, 2006 9:11 pm
Mensajes: 1816
Ubicación: Madrid
Nota [How to] Configurar rsync con ssh en Windows XP con cwRsyncS
Hola, normalmente cuando queremos hacer copias masivas y recurrentes de seguridad usamos el rsync. No suele haber excesivos problemas en su uso y esta muy bien documentado. El problema me ha surgido cuando he querido hacer una copia de seguridad de cosas criticas fuera del servidor Linux, a unos 600 km (por eso de si sale todo ardiendo) y sobre una maquina windows XP pro.

CLIENTE: (ubuntu 8.10) -----> rsync -----> Internet ----> rsync server (con y sin ssh) SERVIDOR (Windows XP)

A priori si queremos sacar los datos por rsyncd (rsync con contraseña y sin encriptar) lo mas recomendable es instalar en la maquina windows el programita gratuito "DeltaCopy" http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp que le permitirá al usuario de windows configurar el rsync a golpe de ratón, lo cual es realmente fácil. El problema es que delta copy no trae por defecto el servidor ssh (aunque he leído virguerias por ahi). Como es tan fácil configurarlo como indicar el nombre de la configuración del rsync, poner el directorio, usuario y contraseña pues no me meto mas en explicarlo.

INSTALACIÓN RSYNC CON SSH EN XP

Cuando queremos instalar el rsync con ssh la cosa se complica, yo lo he probado todo y lo mas fácil de instalar es el cwRsyncServer 2.1.5 que trae todo integrado. La versión 3 es bastante mas complicado ya que no viene integrado, y las otras opciones como es el cygwin pues también se complica bastante, aunque todos utilizan el cygwin como base.

Así pues nos lo bajamos el cwRsyncServer 2.1.5 de 8081...

Le damos al botón de instalar y se instala por defecto en C:\Archivos de programa\cwRsyncServer que no es mal sitio

Si vamos a los servicios de windows veremos que hay dos nuevos servicios, el Openssh SSHD y el RsyncServer. Los podemos arrancar independientemente (según queramos acceder solo por ssh o solo por rsyncd o de ambas maneras) y para que al iniciar windows arranquen ambos entramos en el servicio lo arrancamos y lo ponemos en auto.

Realmente tenemos dos servicios independientes, el Rsyncserver coge los ficheros de configuración C:\Archivos de programa\cwRsyncServer y el Openssh en referencia a rsync los coje de C:\Archivos de programa\cwRsyncServer\home\elusuario siendo el usuario normalmente "Administrador" y lo haremos así para este ejemplo. Se supone que poniendo los archivos rsyncd.conf en ambas carpetas ya basta, pues lo malo del asunto es que no acaba aquí, pero vamos por partes

CONFIGURACIÓN DEL RSYNCD

Concepto previo:

El rsync trabaja con el cywing (emulador de linux en windows), cuando estamos en windows y nos metemos dentro del sistema "linux virtual" estamos realmente en C:\Archivos de programa\cwRsyncServer y para salirnos fuera hay que seguir la ruta virtual mas la real "/cygdrive/"+"t/Backup"

Programamos el rsyncd.conf (para cada servicio) quedando una pinta como esta:

use chroot = false
strict modes = false

log file = rsyncd.log
pid file = rsyncd.pid

host allow = *

# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[PRUEBA]
path = /cygdrive/t/Backup
read only = false
transfer logging = yes
auth users = Administrador
secrets file = /cygdrive/c/rsyncd.secrets

el secrets file para ssh no hace falta, pero para el rsyncd si, y es un archivo muy simple "Administrador:clave" con un enter al final, si no, no lo lee. y ya ta, muy facil y normalmente no da problemas.

CONFIGURACION DEL SSH

En la instalación se suponía que se habían generado unas claves para el ssh pero las que ha generado no valen ya que son del usuario que instala en windows no del que recibe en linux.

Para la certificación en ssh sin tener que teclear cada vez que se accede desde una máquina remota, básicamente hay que generar claves en el lado Host (el que interroga) y Server (el que tiene el servicio abierto y espera), después se coje la clave publica del Host (id_rsa.pub) y se coloca en authorized_keys del Server, al conectar por primera vez el host registrará en su know_hosts una clave del server...

El comando para generar las claves es ssh-keygen -t rsa te pones como usuario del que va a generar la consulta en el linux, lo ejecutas y te da en su carpeta /home/usuario/.ssh/ las dos claves, se supone que copias la publica en el archivo authorized_keys (a veces es authorized_keys2) del server y resuelto.

PROBLEMAS

La configuracion del ssh, se hace con los ususarios de windows, y por tanto hay que Sincronizar los usuarios de linux (que realmente esta corriendo dentro de la maquina de windows) y windows: por tanto en una consola de linux que viene con el cwRsyncServer ejecutar

mkpasswd -cl > /etc/passwd

mkgroup --local > /etc/group


Otro problema es que por error de instalación no crea los directorios de los usuarios "server", basicamente el Administrador o el usuario que reciba el ssh. Hay que crear el el directorio de instalación de cwRsyncServer/home/Administrador/.ssh/ para que ahí dentro se pueda dejar un archivo el authorized_keys

Hay que descomentar la linea "AuthorizedKeysFile .ssh/authorized_keys" del fichero "sshd_config" que esta en el directorio /etc/ (dentro del direcotorio de instalacion del cwRsyncServer)

El ssh no funcionara si hay excesivos permisos de las carpetas y archivos, por tanto hay que limitarlo con chmod

$ chmod 700 /home/administrador
$ chmod 700 /home/administrador/.ssh
$ chmod 600 /home/administrador/.ssh.ssh/authorized_keys


El último problema es el de los propietarios, resulta que si todos los directorios y archivos del usuario virtual linux que están dentro de windows (C:\Archivos de programa\cwRsyncServer\home\"usuario")que en mi caso son: Administrador, .ssh y el archivo authorized_keys tienen que ser del usuario del server con el que tratamos de entrar (Administrador en nuestro caso) si no pues tampoco funciona, normalmente hay que cambiarlo desde la consola con el comando

chown -R nuevopropietario /rutadelarchivo

Y con todo esto debiera de funcionar después de un reinicio del servicio

Todos estos trucos son relativamente evitables si vamos a utilizar el usuario que ha intalado todo y si con ese usuario creamos la carpeta del usuario en C:\Archivos de programa\cwRsyncServer\home\ y posteriormente creamos el archivo y los directorios desde el mismo usuario de windows. Lo que no nos quita nadie es el tema de permisos y el de sincronizar los usuarios de windows y linux.

Comandos Rsync:
como no es el objeto de este tutorial explicar el funcionamiento del rsync me limito a poner los comandos rsync que yo utilizo desde linux sin ssh y con ssh.

rsyncd
"/usr/bin/rsync --verbose --archive --recursive --update --delete --force --compress --password-file=/home/BackupRemotoConfig/rsync.secrets --stats --progress --files-from=/home/BackupRemotoConfig/listabackup --exclude-from=/home/BackupRemotoConfig/listaexcluirbackup /media/sda3/ Administrador@direcciondelxp::PRUEBA"

consiste en hacer el rsync cogiendo el listado de carpetas a mandar del archivo "listabackup", excluyendo los archivos o directorios que vienen listados en "BackupRemotoConfig".

rsync ssh
"/usr/bin/rsync -e ssh --verbose --archive --recursive --update --delete --force --compress --stats --progress --files-from=/home/BackupRemotoConfig/listabackup --exclude-from=/home/BackupRemotoConfig/listaexcluirbackup /media/sda3/ Administrador@direcciondelxp::PRUEBA"

Ahora mandamos todo encriptado pero en la configuracion del rsyncserver no ponemos exclusividad de usuario y contraseña

rsyncd ssh
"/usr/bin/rsync -e ssh --verbose --archive --recursive --update --delete --force --compress --stats --progress --files-from=/home/BackupRemotoConfig/listabackup --exclude-from=/home/BackupRemotoConfig/listaexcluirbackup /media/sda3/ Administrador@direcciondelxp::PRUEBA"

Es la suma de los dos anteriores, lo mandamos encriptado pero además con usuario y contraseña, la verdad es que no tiene sentido si no es porque en el servidor tengamos enlaces simbólicos en vez de archivos para tenerlo todo unificado con la misma configuración mandase o no codificado. Yo lo utilizo para facilitarle al usuario de XP la configuración ya que la hace desde el programa DeltaCopy y se la copio para el uso de en cwRsyncServer ssh.

Todo estos consejos también son validos para hacer backups de windows con Backuppc en ubuntu (muy recomendable) ya que puedes configurar el backuppc con "rsync ssh" o bien con "rsyncd" y funiona perfectamente, aunque lógicamente lo mas facil es usar "rsyncd" y el programita DeltaCopy

_________________
Antec Solo & MSI X58A-GD65 & @4.1GHz HT & 12GB 2:10
1536Mhz O.C.AutoDELL 3007WFP-HC* & & & G500 & &
SSD 840 EVO 250 GB SO + SSD 840 EVO 120 GB Juegos + OCZSSD2-2VTXE 120G Datos + 2x 2TB ST2000DL003

SilverStone LC16B-MR & GIGABYTE GA-770TA-UD3 & MD Athlon II X3 445 & 4Gb DDR3 1333Mhz
& XFX HD5450 & & Club3d DTS-connect &
64GB SSD Crucial C300 CTFDDAC064MAG-1G1 + 5x2TB ST32000542AS + 3TB WD30EZRX-00MMMB0
+ 4TB ST4000DM000 + IDE 500 GB TV + 2TB ST2000DL003 (en el server)


Sab Mar 07, 2009 1:55 pm
Perfil Enviar mensaje privado WWW
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 1 mensaje ] 


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Saltar a:  
Powered by phpBB © phpBB Group.
Designed by Vjacheslav Trushkin for Free Forums/DivisionCore.
Traducción al español por Huan Manwë para phpBB España