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 <albe...@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-requ...@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact
> listmas...@lists.debian.org
> Archive: http://lists.debian.org/52f7bf16.4050...@bersol.info
>
>

Responder a