Have a different welcome message for ssh connections with deploy keys

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Release notes

Problem to solve

When adding a deploy key to a particular repository and then using this ssh key to create an ssh connection to GitLab.com, the output will be Welcome to GitLab! @CreatorUsername. This gives the user the impression, they are creating the ssh connection with the ssh key associated with their GitLab account. When they then try to push to any of their private repositories, this will fail if they are still using the deploy key. This can be misleading, as the welcome message outputs the creator's name.

As a GitLab user when creating an ssh connection with a deploy key (e.g. with ssh -T git@gitlab.com), I would expect the ouput of the welcome message to be something like Welcome to GitLab, deployKeyName (fingerprint)!) because this would not give me the impression that I am logging in to my personal GitLab account.

Intended users

Unknown (all GitLab users)

User experience goal

The user should be able to distinguish from the Welcome message, whether they have established an ssh connection to GitLab with their private ssh key or a deploy key.

Proposal

  • User adds an ssh key to their account
  • User then adds a deploy key to one of their existing repositories (repo1)
  • User forgets about the deploy key but their local is using it for the ssh connection
  • User pushes to a repository, where the deploy key has not been assigned to (repo2) -> this will fail
  • User troubleshoots it by running ssh -T git@gitlab.com -> This will now output Welcome to GitLab, deployKeyName (deployKeyFingerprint)!
  • Now the user knows that they have misconfigured their local to use the wrong ssh key and can correct it

Further details

This would help GitLab users to troubleshoot the issue themselves, resulting in finding the solution sooner.

Permissions and Security

Anyone who is allowed to push code/pull from/to repository.

Documentation

Availability & Testing

Available Tier

Free

What does success look like, and how can we measure that?

Success would be to be able to distinguish from the Welcome message, whether a user has used their own ssh key or a deploy key they have created for the connection.

Is this a cross-stage feature?

Most likely.

Edited by 🤖 GitLab Bot 🤖