Hi Edmund,
On Wed, Dec 25, 2019, 02:56 Edmund Wong <[email protected]> wrote: > Mads Kiilerich wrote: > > On 12/24/19 7:49 AM, Ed Wong wrote: > >> Hi, > >> > >> Just managed to work around the database unicode issue and > >> could both clone and push via the ssh:// url; however, > >> pushing to a git repository gave me the following 'error': > >> > >> Total 3 (delta 1), reused 0 (delta 0) > >> remote: Traceback (most recent call last): > >> remote: File "hooks/post-receive", line 38, in <module> > >> remote: main() > >> remote: File "hooks/post-receive", line 34, in main > >> remote: > >> sys.exit(kallithea.lib.hooks.handle_git_post_receive(repo_path, > >> git_stdin_lines)) > >> remote: File > >> > "/var/www/environments/kalivenv/lib/python2.7/site-packages/kallithea/lib/hooks.py", > >> > >> line 343, in handle_git_post_receive > >> remote: baseui, repo = _hook_environment(repo_path) > >> remote: File > >> > "/var/www/environments/kalivenv/lib/python2.7/site-packages/kallithea/lib/hooks.py", > >> > >> line 310, in _hook_environment > >> remote: extras = get_hook_environment() > >> remote: File > >> > "/var/www/environments/kalivenv/lib/python2.7/site-packages/kallithea/lib/utils2.py", > >> > >> line 538, in get_hook_environment > >> remote: raise Exception("Environment variable KALLITHEA_EXTRAS not > >> found") > >> remote: Exception: Environment variable KALLITHEA_EXTRAS not found > >> To seavcs:repos/infrastructure/testgit2 > >> 887eb3c..19b77cd master -> master > >> > >> Apparently, it did save the push. > >> > >> I've looked at the documentation; but haven't yet seen the mention > >> of the KALLITHEA_EXTRAS requirement. Looking at the code, > >> I'm not exactly sure what fields are required in the json > >> structure. > > > > KALLITHEA_EXTRAS is used internally. The user invokes "kallithea-cli > > ssh-serve" when connecting through ssh, and that sets this environment > > variable before calling out to the git executable ... and when git > > invoke the hooks and call back into Kallithea code in a grand-child > > process, it can read the environment variable and report correctly who > > is doing what. > > > > It seems like you somehow end up invoking git directly when you ssh, > > instead of hitting the kallithea-cli that should have been installed in > > your ~/.ssh/authorized_keys ? > > I think I know what is wrong. The problem is I also added the old > ssh-rsa entries to the authorized_keys file in the .ssh so that > I could also ssh into the system as the Kallithea user. Apparently, > that throws off the system. My bad. > > Note that the documentation explicitly mentions this is not possible: https://kallithea.readthedocs.io/en/stable/setup.html#using-kallithea-with-ssh "Note: The authorized_keys file will be rewritten from scratch on each update. If it already exists with other data, Kallithea will not overwrite the existing authorized_keys, and the server process will instead throw an exception. The system administrator thus cannot ssh directly to the Kallithea user but must use su/sudo from another account." > > > > I guess we should make the hooks handle a missing KALLITHEA_EXTRAS in a > > more elegant way ... > > Would it be more appropriate to scan the actual authorized_keys to > ensure it is in the proper formatting? > > i.e. > ssh-rsa <key 1 blah...> > no-pty,no-port-forwarding... ssh-rsa <key 2 blah> > > to > > no-pty,no-port-forwarding... ssh-rsa <key 1 blah> > no-pty,no-port-forwarding... ssh-rsa <key 2 blah> > > or add a flag at the beginning to tell kallithea to ignore the said > line? > > Thanks > > Edmund > > _______________________________________________ > kallithea-general mailing list > [email protected] > https://lists.sfconservancy.org/mailman/listinfo/kallithea-general >
_______________________________________________ kallithea-general mailing list [email protected] https://lists.sfconservancy.org/mailman/listinfo/kallithea-general
