Support for SSH repository access has landed!

Thomas De Schampheleire patrickdepinguin at gmail.com
Tue Aug 13 18:17:03 UTC 2019


Hello everyone,

We are excited to announce that support for SSH repository access
has finally landed on the Kallithea development branch. This means:

- repository URLs like ``ssh://kallithea@example.com/name/of/repository``

- all network traffic for both read and write happens over the SSH protocol on
  port 22, without using HTTP/HTTPS nor the Kallithea WSGI application

- encryption and authentication protocols are managed by the system's ``sshd``
  process, with all users using the same Kallithea system user (e.g.
  ``kallithea``) when connecting to the SSH server, but with users' public keys
  in the Kallithea system user's `.ssh/authorized_keys` file granting each user
  sandboxed access to the repositories.

- users and admins can manage SSH public keys in the web UI

- in their SSH client configuration, users can configure how the client should
  control access to their SSH key - without passphrase, with passphrase, and
  optionally with passphrase caching in the local shell session (``ssh-agent``).
  This is standard SSH functionality, not something Kallithea provides or
  interferes with.

- network communication between client and server happens in a bidirectional
  stateful stream, and will in some cases be faster than HTTP/HTTPS with several
  stateless round-trips.

We plan to make an official release including these changes in early fall.

The changes have a long history, with several people contributing. For a long
time we had concerns and didn't feel ready to land the changes ... and also
didn't prioritize to do the work we thought it needed. But finally, other
high-priority things finished and we got around to prioritize working on this.
We reworked it a lot, and now really feel confident in the quality, security and
maintainability of the feature.
Thanks to everybody who contributed, directly or indirectly.

We suggest that all users with interest in this feature try it out so we gain
further confidence before releasing officially. Please report any
issues you may find, including suggestions for documentation improvements. To
get started, refer to the documentation on SSH repository access [1] and to the
general upgrade instructions [2].

[1] https://kallithea.readthedocs.io/en/default/setup.html#using-kallithea-with-ssh
[2] https://kallithea.readthedocs.io/en/default/upgrade.html


Note: At this moment, SSH repository access has been tested on Unix only.
Windows users that care about this feature are invited to test it and
report problems,
ideally contributing patches that solve these problems.


Best regards,
Mads Kiilerich
Thomas De Schampheleire


More information about the kallithea-general mailing list