This could be an enhancement that make administration less dependent on the web interface:
allow appending new SSH keys to .ssh/authorized_keys in the "setup" branch of a site at Branchable via git+ssh (by the admin only--for security, perhaps; i.e., keep track which SSH keys belong to the owner of the site by some means, if this is important).
Now this is forbidden: after appending a new SSH key, the attempt to upload the commit fails:
$ git push -v
Pushing to ssh://b-pay-assistant@pay-assistant.branchable.com/
Enter passphrase for key '/home/imz/.ssh/id_rsa':
Counting objects: 7, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 1.04 KiB, done.
Total 4 (delta 0), reused 0 (delta 0)
remote: error: rejecting change to setup branch: modification of files other than ikiwiki.setup is not allowed
remote:
remote: error: hook declined to update refs/heads/setup
To ssh://b-pay-assistant@pay-assistant.branchable.com/
! [remote rejected] setup -> setup (hook declined)
error: failed to push some refs to 'ssh://b-pay-assistant@pay-assistant.branchable.com/'
$
Of course, this doesn't seem to be a very essential enhancement, but some conevnience for those who prefer git and command-line and files to the web interface. -- Ivan Z.
I think this is a good idea. Of course it's in a security sensitive area and would need to be implemented with care. And I don't know how many Branchable users would actually find the feature useful. Or how many would want to expose their authorized keys list to everyone who has access to their site's git repository.
I've posted some thoughts how to do it over here: http://ikiwiki-hosting.branchable.com/todo/git_push_ssh_keys/
Patches welcome!