duplicity vs openssh sftp chroot feature

Egy új megoldást kerestem a hobbiszerver backupolására. A HOVD vonatkozó kategóriájának jelöltjei között találtam a duplicityt, ami a kódolt (és aláírt) hálózaton át történő backupolás lehetőségét nyújtja anélkül, hogy az inkrementális backup lehetőségéről le kellene mondani.

Ez azért jó, mert a célszerverben nem feltétlenül kell megbíznunk, valamint a célszerver komprommitálódása esetén a backup a kulcs ismerete nélkül nem olvasható. A konkrét megvalósításban a backup ssh-n át közlekedik, egészen konkrétan sftp protokollt használva.

A célszerveren egy dedikált usert használtam, ami a backupokat fogadja. A user korlátozásához felhasználtam az újabb OpenSSH-kban megjelenő ChrootDirectory feature-t. Az sshd vonatkozó konfigurációja:

Subsystem sftp internal-sftp
Match group sftponly
ChrootDirectory /var/sftpjail/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

A forrásgépen a duplicity ssh://user@host/... típusú URL sémát használtam, a vonatkozó backend azonban a különböző műveletekhez keverve használ scp és sftp kapcsolatokat. Mivel nem szerettem volna az openssh beépített featurét a számomra nagyobb hacknek tűnő scponlyra vagy rssh-ra cserélni, ezért keresgélni kezdtem. Vonatkozó bugreportot találtam, azonban ez WONTFIX-szel végződött, alternatív megoldásokat ajánlgatva. Inkább a link mögött olvasható patch-csel vettem rá a duplicityt (0.4.11) tisztán sftp-t használjon ezekre az URL-ekre.