> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flexagon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Using SSH protocol with GitHub

> You can either utilize SSH Key type credentials, or manually configure the connection on the FlexDeploy Server and any Endpoints where Git commands wi

You can either utilize SSH Key type credentials, or manually configure the connection on the FlexDeploy Server and any Endpoints where Git commands will be executed. For easy configuration it is recommended to use SSH Key credentials.

# SSH Key Credentials

FlexDeploy has built in support for SSH Key credentials. After creating an SSH Key credential with the Property scope, you can select the credential for the GIT Private Key property for the GIT Integration Instance. Note that the GIT URL property will have to start with `ssh://` or `git@` in order for the input to appear. For more information about creating an SSH Key credential, see [Credential Type - SSH Key](https://docs.flexagon.com/flexdeploy-10-0-documentation/flexdeploy-users-guide/administration/credentials/credential-types/credential-type-ssh-key.md).

![image-20241009-185347.png](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590936267.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=a248733432f943db1c6c1c373b7a8289)

# Manual Configuration

Reference - [https://help.github.com/articles/connecting-to-github-with-ssh](https://help.github.com/articles/connecting-to-github-with-ssh/)

* SSH key must be RSA algorithm (ssh-keygen -t rsa)

* Key must be named id\_rsa

* Key must not have passphrase

* Key must be located in \<user home>/.ssh folder

> [!NOTE]
>
> Following steps must be done for **FlexDeploy Server** and **Endpoint** where Git commands will be executed.

1. Locate or generate default SSH keys. 

   ![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590936229.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=6e3dda07edf8490588032471edfe5ff3)

2. Add SSH public key to GitHub account. **You must use id\_rsa.pub key for this purpose.**

   ![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590936273.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=6f43913220b9298e430dfb030dccd241)

3. If GitHub is SSO enabled

   1. Click on enable single sign-on

   2. Click Authorize

   3. When routed to SSO provider, enter SSO credentials

4. Test SSH connection using ssh, and perform host authorization.

   ![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590936276.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=e8712acac08c41222e3cc9cc3f83ee67)

5. Configure FlexDeploy

   ![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12590936264.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=e4c7c781a1eb039750c25f5e533df84f)

6. Click Test Connection to verify configuration
