> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/rdm/knowledge-base/how-to-articles/configure-git-commit-signing-with-remote-desktop-manager.md).

# Configure Git commit signing with Remote Desktop Manager

### Prerequisites

* Git needs to be installed.
* (Optional) [OpenSSH for Windows](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh-overview).

### (Optional) Configuring OpenSSH for Windows

Using OpenSSH for Windows is highly recommended when using a signing key with a passphrase as we will want to load it with the RDM key agent. Otherwise we would be asked for the passphrase every time we commit which is very inconvenient.

1. To install [OpenSSH for Windows](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh-overview) on Windows 11, go to ***System*** – ***Optional features***.
2. Check that OpenSSH Client is installed. Otherwise it can be found and installed with the blue button ***View features***.
3. Open the ***Services*** in Windows.
4. Set the startup type of OpenSSH Authentication Agent to ***Automatic*** and start the service.

   <figure><img src="https://cdnweb.devolutions.net/docs/RDMW6085_2024_3.png" alt=""><figcaption></figcaption></figure>
5. Open the SSH key agent by clicking ***Tools*** – ***SSH Key Agent*** in the ribbon of Remote Desktop Manager.
6. Set the mode to OpenSSH and start the agent.

### Generate the SSH key

[Generate the SSH key](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) using the ssh-keygen.

```
ssh-keygen -t ed25519 -C "your_email@example.com"
```

### Configuring the key for code signing

1. Open the [SSH Key Manager (local)](https://docs.devolutions.net/rdm/commands/tools/ssh-key-manager-local/).
2. Select the key and click on ***Use for Git commit signing***.
3. The git commit signing window opens.
4. Check both ***Sign commits by default*** and ***Configure Git to use OpenSSH for Windows***.

   ![](https://cdnweb.devolutions.net/docs/RDMW6086_2024_3.png)
5. The key needs to be added in the Git provider. To do so, open Github.
6. Go to ***Settings*** – ***SSH and GPG keys***.
7. Click ***New SSH key***.

   ![](https://cdnweb.devolutions.net/docs/RDMW6088_2024_3.png)
8. Signing key needs to be selected as the key type.

   ![](https://cdnweb.devolutions.net/docs/RDMW6087_2024_3.png)

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>To learn how to use SSH keys on Github, Gitlab, and Bitbucket, click on the links below:- Adding a new SSH key to your GitHub account - GitHub Docs</p></div>

* Use SSH keys to communicate with GitLab | GitLab
* Set up personal SSH keys on Windows | Bitbucket Cloud | Atlassian Support

9. Do a commit. If a passphrase is required to access the SSH key, it will be requested at that point.
10. To verify that our commit is correctly signed, please refer to the Commits page on GitHub. Commits signed with a known key will display a Verified label.

### Load the key in the SSH key agent

To avoid the need to type the passphrase for every commit, the key can be loaded into the key manager.

1. In the [***SSH Key Manager (local)***](https://docs.devolutions.net/rdm/commands/tools/ssh-key-manager-local/), select the key and use the ***Load in SSH key agent*** option. An additional option is available to automatically load the key when the key agent starts.
2. If the key has a passphrase, a prompt will appear to enter it when the key is loaded.
3. Set up the environment to avoid enter the passphrase.
4. To do so, import the key in a vault using the ***Save as entry*** action.
5. On the entry, set the passphrase and check ***Save passphrase***.
6. Check ***Automatically load to SSH key agent*** in the SSH key agent.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.devolutions.net/rdm/knowledge-base/how-to-articles/configure-git-commit-signing-with-remote-desktop-manager.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
