5 de junio de 2020
Uno de los correos que he recibido hoy indicaba que la copia en una de las máquinas había fallado por no poder recuperar archivos del primero directorio indicado /etc. Como antes no era así he pensado que estaba mal la configuración, el propio BackupPC me aconseja mirar primero allí, y no he visto nada diferente.
El caso es que me ha dado que pensar y he hecho la prueba definitiva para mostrar el principal fallo que encuentra este programa y que no registra adecuadamente: falta de acceso SSH a la cuenta root de la máquina cliente.
Así que he hecho lo siguiente:
root@backups:/home/osr# su -l -s /bin/bash backuppc
$ ssh root@sarajevo Warning: the ECDSA host key for 'sarajevo' differs from the key for the IP addre ss '192.168.100.40'
Offending key for IP in /var/lib/backuppc/.ssh/known_hosts:17
Matching host key in /var/lib/backuppc/.ssh/known_hosts:30
Are you sure you want to continue connecting (yes/no)?
¿ Qué ? ¿ Ha cambiado la clave ECDSA para esa máquina ? ¿ Cuándo ?
Pues cuando, antes del confinamiento, instalé un disco nuevo y aproveché para hacer una instalación limpia de Debian. Y no lo anoté en su momento.
Para recuperar la confianza en la conexión es conveniente hacer lo siguiente:
root@backups:/home/osr# su -l -s /bin/bash backuppc
$ ssh-keygen -F sarajevo.venexma.net
# Host sarajevo.venexma.net found: line 17
|1|bkhRUeOHIw2rCeuqMASUdj4SEsU=|hY7weDKD3dLwh+sfiCkljKrPedw= ecdsa-sha2-nistp256
...
$ # borramos la clave del archivo .ssh/known_hosts
$ # y la recuperamos con lo siguiente
$ ssh-keyscan -H sarajevo.venexma.net >> .ssh/known_hosts
# sarajevo.venexma.net:22 SSH-2.0-OpenSSH_7.9p1 Debian-10+deb10u2
# sarajevo.venexma.net:22 SSH-2.0-OpenSSH_7.9p1 Debian-10+deb10u2
# sarajevo.venexma.net:22 SSH-2.0-OpenSSH_7.9p1 Debian-10+deb10u2
Y ahora sí, las copias ya pueden continuar. A modo de recordatorio pongo aquí lo siguiente:
- El usuario que inicia las copias es backuppc desde el servidor.
- El usuario que puede leer los datos en el cliente es root.
- Es necesario pasar la clave pública de backuppc a root. Suelo emplear una cuenta intermedia porque no tengo acceso directo a root con contraseña.
- La clave identificativa de la máquina cliente debe ser conocida por el usuario backuppc en el servidor.
- El programa BackupPC no gestiona líos ni problemas con las conexiones por lo que si aparece cualquier detalle (como pedir confirmación) da la copia por abortada y ya.