Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate SSH keys when the user login for the first time #14411

Closed
azatsarynnyy opened this issue Sep 3, 2019 · 5 comments · Fixed by #14767
Closed

Generate SSH keys when the user login for the first time #14411

azatsarynnyy opened this issue Sep 3, 2019 · 5 comments · Fixed by #14767
Assignees
Labels
kind/enhancement A feature request - must adhere to the feature request template. severity/P1 Has a major impact to usage or development of the system.
Milestone

Comments

@azatsarynnyy
Copy link
Member

Majority of Che users require the SSH keys to work on their projects. For a first-time user, it can be a bit tricky to find a way to generate the keys.

The goal of this task is to generate a key pair automatically when the user login for the first time. So, after starting a workspace, in case if the user has no keys, he/she will see the notification about a key pair has been already generated automatically.

image

Uploading an SSH key to GitHub will be a separate task.

It's a part of Git+SSH flow epic #13494

@azatsarynnyy azatsarynnyy added kind/enhancement A feature request - must adhere to the feature request template. team/ide labels Sep 3, 2019
@azatsarynnyy
Copy link
Member Author

@l0rd we need a priority for that.
Thanks!

@l0rd l0rd mentioned this issue Sep 3, 2019
13 tasks
@che-bot che-bot added the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Sep 3, 2019
@l0rd l0rd added severity/P1 Has a major impact to usage or development of the system. and removed status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. labels Sep 3, 2019
@l0rd
Copy link
Contributor

l0rd commented Sep 3, 2019

@azatsarynnyy thanks for opening it. A few considerations:

  1. Git + SSH (command line and vs code extensions) should work on the user first workspace: that may require the key to be generated che-server side and not via current theia plugin.
  2. The message ("Key pair successfully generated, do you want to view the public key?") should become more explicit now since the user hasn't ask to generate it and doesn't have the context. For example: "An SSH key pair has been generated. It can be used to authenticate to remote services such as GitHub. Copy the public key and add it on your profile."
  3. Instead of View the button should be Copy to Clipboard.

@l0rd l0rd added this to the 7.2.0 milestone Sep 3, 2019
@gorkem
Copy link
Contributor

gorkem commented Sep 3, 2019

I am not sure about this one. If I have no intention to use SSH keys on a workspace this will generate me a key and pop a notice to copy it to the clipboard. This is a confusing and since it involves SSH keys even an alarming experience for the user.

@l0rd
Copy link
Contributor

l0rd commented Sep 3, 2019

@gorkem I agree: the message, if the users hasn't asked for any key generation, can be confusing/alarming.

But current UX is awful:

  1. start a workspace and do some changes
  2. figure out that you cannot git push
  3. look into che docs to see that you need to generate an SSH key pair using a Theia plugin
  4. generate the key pair
  5. copy it in to your github profile

Most of the new users will probably stop at 2). Some will get to 5) but there are chances that they made a mistake and git push will continue to fail.

We need to automate this as much as possible. What about generating a key pair silently at first login and, when a new workspace with a GitHub project is created, propose the user to copy/paste his Che workspaces public key to its GitHub profile?

@gorkem
Copy link
Contributor

gorkem commented Sep 3, 2019

Agreed, let's not do the message to everyone thing, it is a step backwards.

Considering we are trying to improve the flow through IDE on step 2 (not the git CLI), can we study if we can actually improve the git plugin at this point when it fails to push. Ideally we can hook our SSH key generation & upload logic at this point when the user really needs it. I think there is the beginnings of such a flow eclipse-theia/theia#3397

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement A feature request - must adhere to the feature request template. severity/P1 Has a major impact to usage or development of the system.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants