# How to Connect to Git via SSH

In addition to the HTTP/HTTPS protocols, Teamscale can communicate with Git repositories using Secure Shell (SSH).

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:

  • OpenSSH: ssh-keygen -e -m PEM -f $INPUT > $CONVERTED

  • PuTTY: puttygen $INPUT -O private-openssh -o $CONVERTED