Skip to content

Adds the documenation for ssh keys#135

Open
ribalba wants to merge 1 commit intomainfrom
ssh-keys
Open

Adds the documenation for ssh keys#135
ribalba wants to merge 1 commit intomainfrom
ssh-keys

Conversation

@ribalba
Copy link
Copy Markdown
Member

@ribalba ribalba commented Apr 27, 2026

No description provided.

Copy link
Copy Markdown
Member

@ArneTR ArneTR left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reads nicely. Some remarks

- Each runner or cluster machine that executes measurements uses the matching RSA PEM private key configured in `config.yml` to decrypt the stored SSH key before cloning a repository.
- The user submits an OpenSSH private key through the Dashboard or command line. This is the key used by Git, through ssh, when cloning the measured repository.

We do this so that when the GMT Web machine or the database is leaked we do not expose any SSH keys.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would call it Dashboard Machine as this is the naming of the docs so far


## Configure the web server to accept SSH keys from users

On the GMT web/API server, configure an RSA PEM-format public key in `config.yml`:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, Dashboard machine.

Or machine the Dashboard and API runs on.


```yml
security:
encryption_public_key_file: ./.rsa/public_key.pem
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure relative paths will work. This should be absolute

openssl rsa -pubout -in private_key.pem -out public_key.pem
```

Recommended placement on the web/API server:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Name again


```yml
security:
encryption_private_key_file: ./.rsa/private_key.pem
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

absolute

encryption_private_key_file: ./.rsa/private_key.pem
```

The private key must match the public key configured as `security.encryption_public_key_file` on the GMT web/API server. Keep this private key available only to runner or cluster machines that execute measurements and to administrators who need runner access.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dashboard/API Machine

@@ -0,0 +1,118 @@
---
title: "SSH Keys"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When I would search the docs my search term would be "private repository" as this is what I effectively want to get working.

The term should appear somewhere. Maybe even in the title. SSH Keys is more the means to an end here I feel

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants