<div dir="ltr"><div><br></div><a href="https://github.com/daethnir/authprogs/">Authprogs</a> is a general purpose SSH command authenticator; it allows you to restrict what commands are allowed for a given SSH key. It's installable via pip and is in recent Debian and Ubuntu.<div><br></div><div>I recently added initial rsync support to authprogs. My goal is to make it an improvement over  rrsync, providing more than just upload vs download and directory support.</div><div><br></div><div><br></div><div>I'd be very interested in feedback from two communities:</div><div><br></div><div>* end users/admins who would be interested in the functionality, and</div><div>* developers to help sanity check the implementation</div><div><br></div><div>While authprogs has been around for many years, this is the first version that supports rsync natively. Here's an example config:</div><div><br></div><div><font face="monospace">from:<br>    - <a href="http://10.1.0.0/16">10.1.0.0/16</a><br>    - 192.168.0.15<br>allow:<br>    # Allow rsync to recursively sync /tmp/foo/ to the server<br>    # including all the bits you get with '-a', but do not<br>    # allow downloads<br>    - rule_type: rsync<br>      allow_upload: true<br>      allow_recursion: true<br>      allow_archive: true<br>      paths:<br>        - /tmp/foo<br>    <br>    # Allow upload to some specific /srv/htdocs files and <br>    # any files/directories under /data/lhc/<br>    # <br>    # Allow setting times, owner, and group, but no other options<br>    - rule_type: rsync<br>      allow_upload: true<br>      allow_owner: true<br>      allow_group: true<br>      allow_times: true<br>      paths:<br>        - /srv/htdocs/index.html<br>        - /srv/htdocs/status.html<br>      path_startswith:<br>        - /data/lhc/<br></font></div><div><font face="monospace"><br></font></div><div><br></div><div>I've just started scratching the surface of the server-side options of rsync, but have implemented all the most common ones (-a, -logptrD, --del, --delete-*, -vvvv, etc).</div><div><br></div><div>The rsync docs are at <a href="https://github.com/daethnir/authprogs/blob/main/doc/authprogs.md#rsync-subrules">https://github.com/daethnir/authprogs/blob/main/doc/authprogs.md#rsync-subrules</a></div><div><br></div><div><br></div><div>Feedback heartily requested.</div><div><br></div><div><br>-- <br><div dir="ltr" data-smartmail="gmail_signature"><div dir="ltr"><div><span style="font-size:12.8px">Bri Hatch, Systems and Security Engineer. <a href="http://www.ifokr.org/bri/" target="_blank">http://www.ifokr.org/bri/</a></span><br></div><div><br></div><div>The sooner you fall behind, the more time you'll have to catch up.</div><div><br></div></div></div></div></div>