[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Rsync sobre SSH (forced-commands-only)



Hola, hola

Yo lo uso de un modo modo similar por no decir idéntico ;-).

En la máquina que realiza el backup habrás definido una "conexión ssh"  con root que usa una clave que se usa exclusivamente para eso asociada con el host remoto.

En el host remoto la conexión está limitada para realizar exclusivamente el backup del modo que comentas:
PermitRootLogin forced-commands-only

Y en el authorized_keys lo que defino junto a la clave es lo siguiente:
from="xxxxxxxxxxx",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="/usr/local/bin/valida-rsync.sh" ssh-dss...

El "truquito" viene de http://troy.jdmz.net/rsync/#validate-rsync se trata de un script que hace de wrap para rsync validando la conexión, pero hace no mucho descubrí que el propio paquete de rsync trae un script en perl con el mismo fin, que es más flexible y que está instalado en /usr/share/doc/rsync/scripts/rrsync.gz y puedes usar de un modo muy similar, por ejemplo:

from="xxxxxxxxxxx",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="/usr/local/bin/rrsync -ro proyectos" ssh-rsa...

la url: http://www.inwap.com/mybin/miscunix/?rrsync

Dale un vistazo a este último y aprovecha que ya lo tienes en el equipo ;-).


Un saludo




El 9 de febrero de 2014, 18:47, Alberto <alberto@bersol.info> escribió:
Hola,
estoy teniendo problemas para algo que creo recordar que ya hice en el
pasado, pero ahora, no se porque, no corre.

El objetivo es hacer backup de un host remoto sobre uno local. La idea
es hacerlo a traves de RSYNC por SSH.

Lo hago con un script cuya orden es la siguiente:

HostLocal# rsync -avuz -e ssh --log-file=$vFilelog --progress --append
--partial --delete --exclude-from=$vFilexclude_remoto HostRemoto:/
${vPmbackup}/mnt/REMOTO/

El acceso SSH al host remoto no está permitido a root, por razones
obvias, pero para hacer la copia total, por supuesto de forma NO
Interactiva, lo hago a traves de clave pública, y limito el acceso por
configuración de SSH al comando concreto con la directiva...

[root@remoto]# grep forced-commands-only /etc/ssh/sshd_config
PermitRootLogin forced-commands-only

Y para utilizarlo, debo especificarlo en el "authorized_keys" de root (

[root@vps .ssh]# cat authorized_keys
command="rsync" ssh-dss
????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????
????????????? root@HostLocal

el problema es que hay que meterle la linea completa (parametros
incluidos) en el "authorized_keys" ya que solo va a aceptar lo que este
ahi, por tanto
todos los parametros no los reconoce.

Logicamente, no puedo meter todos los parametros, o sea, la linea
completa. Como podeis ver, hay algunos que son variables, en base a la
fecha de la copia y demas, con lo que no tengo forma de meterle la linea
entera, y por tanto, el comando rsync falla.

Acepto sugerencias.

Gracias,
un saludo,



--
To UNSUBSCRIBE, email to debian-user-spanish-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: [🔎] 52F7BF16.4050406@bersol.info" target="_blank">http://lists.debian.org/[🔎] 52F7BF16.4050406@bersol.info



Reply to: