How to Connect to Git via SSH
In addition to the HTTP/HTTPS protocols, Teamscale can communicate with Git repositories using Secure Shell (SSH).
General Option Reference
This guide only covers the options specific for the Git repository connector. A general overview of connector options is available here.
When communicating with a Git repository over the SSH protocol, the Teamscale server may need to authenticate itself with a private key.
The private keys need to be stored by navigating to Admin > Settings > Git in Teamscale. Each key consists of a configurable (unique) ID and the actual key material. The key can then be referred to in the configuration of the Git repository connector. The key material is a Base64-encoded string enclosed by a header/footer pair like BEGIN/END RSA PRIVATE KEY
.
Key Formats
While Teamscale supports a wide range of SSH private key formats, it does not yet support the "new" OpenSSH private key format, which is enclosed by a header/footer pair of BEGIN/END OPENSSH PRIVATE KEY
. If your private key is stored in this format, you can convert it to a format that Teamscale can handle like this:
Warning: This modifies the original private key file! You might want to create a backup beforehand.
OpenSSH:
ssh-keygen -p -e -m PEM -f $INPUT
PuTTY:
puttygen $INPUT -O private-openssh -o $CONVERTED