refresh-auth
author Paul Crowley <paul@lshift.net>
Tue, 15 Apr 2008 18:13:53 +0100
changeset 2 a69f7bea408c
parent 1 5bc7446cd2d1
child 3 7e659a6870de
permissions -rwxr-xr-x
added a README to describe how this works.

#!/usr/bin/python

import os
import os.path

# THIS SCRIPT COMPLETELY DESTROYS YOUR .ssh/authorized_keys FILE EVERY TIME IT IS RUN

#command='cd %s && ../path/bin/hg-ssh %s' % (repos, " ".join(projects))

akeyfile = os.path.expanduser("~/.ssh/authorized_keys")

akeys = open(akeyfile + "_new", "w")
for root, dirs, files in os.walk("keys"):
    for fn in files:
        ffn = os.path.join(root, fn)
        # FIXME: should ignore any path that contains dodgy characters
        keyname = ffn[5:]
        kf = open(ffn)
        try:
            for l in kf:
                command='./.hg-ssh-wrapper %s' % keyname
                prefix=('command="%s",no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding'
                    % command)
                #prefix='no-port-forwarding,no-X11-forwarding,no-agent-forwarding'
                akeys.write("%s %s\n" % (prefix, l.strip()))
        finally:
            kf.close()

os.rename(akeyfile + "_new", akeyfile)