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

Epic: SSH access copy/paste via dashboard #7713

Closed
loujaybee opened this issue Jan 20, 2022 · 12 comments · Fixed by #9003
Closed

Epic: SSH access copy/paste via dashboard #7713

loujaybee opened this issue Jan 20, 2022 · 12 comments · Fixed by #9003

Comments

@loujaybee
Copy link
Member

loujaybee commented Jan 20, 2022

Now that we have the new SSH gateway and the simpler authentication flow, it is possible that a user can copy/paste an SSH command onto their local machine to facilitate quicker/easier access to a Gitpod workspace. This UX could come on the dashboard (Figure 1). However, whilst we also have the landing page on start of workspace (figure 2), we should also consider offering the SSH option here, too. Following the implementation of this feature, we also need to review documentation around local companion and SSH access, as this will provide an alternative/substitute to the local companion.

Figure 1 Figure 2
image image
@loujaybee loujaybee changed the title SSH copy/paste in dashboard SSH access copy/paste via dashboard Jan 20, 2022
@loujaybee
Copy link
Member Author

Would be good to get @gtsiolis's and @jldec / Team WebApp's thoughts on the UX of this.

@gtsiolis gtsiolis self-assigned this Jan 20, 2022
@loujaybee loujaybee moved this to Scheduled in 🚀 IDE Team Jan 27, 2022
@iQQBot
Copy link
Contributor

iQQBot commented Feb 8, 2022

how is this going

@loujaybee loujaybee moved this to Scheduled in 🚀 IDE Team Feb 22, 2022
@loujaybee loujaybee changed the title SSH access copy/paste via dashboard Epic: SSH access copy/paste via dashboard Feb 22, 2022
@gtsiolis
Copy link
Contributor

gtsiolis commented Mar 1, 2022

Moving this to scheduled in the product design board. 🥯

ETA: End of this week. ⏱️

@gtsiolis
Copy link
Contributor

gtsiolis commented Mar 8, 2022

Here're some design specs we could use. Feedback is welcome!

Some thoughts on this MVC (minimum viable change) iteration:

  1. Since we currently only support copying and pasting an SSH command to connect but do not offer an in-browser UX where we allows used to connect to SSH without a local terminal application, re-using the modal here sounds good.
  2. Let's use a more specific verb here like Connect instead of Open to provide a better and more specific hint.
  3. Hiding the dropdown option when the workspace is not running as we do with the Stop option sounds good.
Dropdown (Workspaces) Modal Dropdown (Start)
Dropdown Modal StartDropdown

Things to consider in this or in future iterations:

  1. Disabling the option and using a subtitle or a tooltip to inform users why this is disabled.
  2. Consolidate opening instructions for desktop for all editors or SSH access.
  3. Use the instructions placeholder for surfacing the command to copy and offer a one-click command copy UX.
Disabled Dropdown (WIP)
DropdownDisbled

See design specs.

@iQQBot
Copy link
Contributor

iQQBot commented Mar 14, 2022

@gtsiolis sorry for the late reply
For SSH, we should normally connect via
username, password, and host, using these attributes will ensure maximum compatibility

In addition, we provide a one-click connection command by providing a special username workspaceID#ownerToken instead of username and password, but this requires a special condition that the user must have a default ssh privatekey on the computer, which is not used for authentication, but only for skipping the necessary passwords The steps

Alternatively, if the user has sshpass installed on the computer, we can use
sshpass -p ownerToken ssh -o StrictHostKeyChecking=no workspaceId@workspaceUrl to connect

@iQQBot
Copy link
Contributor

iQQBot commented Mar 14, 2022

To avoid misunderstandings for users, I suggest that for the initial release we provide a standard username, password, host format

@gtsiolis
Copy link
Contributor

@iQQBot The specs in #7713 (comment) included an example and arbitrary command structure (ssh --workspace xyz) and the intent was not to suggest to use or create new ssh arguments. Sorry if this casued any confusion!

Moving forward with an SSH command with maximum compatibility sounds great. 💯

In addition, we provide a one-click connection command ...

In both cases, the user experience or copying a single command and pasting it into a terminal remains the same, right?

To avoid misunderstandings for users, I suggest that for the initial release we provide a standard username, password, host format

Sounds good, @iQQBot!

@loujaybee
Copy link
Member Author

Re-opening as need to measure the outome/impact!

@loujaybee loujaybee reopened this Apr 26, 2022
@josepjaume
Copy link

Hello! This functionality is highly welcome amongst some users in our company (Factorial) who wish to use Vim by default. Can I suggest a couple of improvements?

  1. Provide "SSH" as one of the "editors" (Preferences). This would present the user with the ability to just copy their SSH command and enter the console.
  2. Copy the ssh credentials to the clipboard via a Visual Studio Code command - you save a roundtrip to the dashboard.

Thanks for the work!

@gtsiolis
Copy link
Contributor

Thanks for the feedback, @josepjaume!

  1. Provide "SSH" as one of the "editors" (Preferences). This would present the user with the ability to just copy their SSH command and enter the console.

+1. Probably worth opening a separate issue about this. Cc @loujaybee

For selection, this could be either a new editor card option or a toggle checkbox below the editor to allow users always default to SSH access without opening any editor, similar to the workspace start page when opening with a desktop editor.

For access, on the workspace start page this could introduce a new state where you simply copy and paste a command without the need to open a modal while still allowing users to open in browser. Getting the SSH copy command as soon as possible would be great to avoid introducing a loading state for fetching the command to display it in time.

Copy the ssh credentials to the clipboard via a Visual Studio Code command - you save a roundtrip to the dashboard.

This is already tracked in #9230 but this requires #9932.

@loujaybee
Copy link
Member Author

Thanks for the feedback @josepjaume ! (and @gtsiolis for the other links, ideas and thoughts!). Glad to know it's useful for the team! We definitely want to make some further refinements to the developer experience for vim users specifically. If you have more ideas or thoughts on the topic, I'd be very open to hearing them.

Provide "SSH" as one of the "editors" (Preferences) - @josepjaume

+1. Probably worth opening a separate issue about this. Cc @loujaybee - @gtsiolis

For this...

This would present the user with the ability to just copy their SSH command and enter the console.

For what it's worth, if you have a desktop IDE preference set, the splash page has an SSH copy. It's not really the intended purpose of the page, but it might improve your workflow a little.

@loujaybee
Copy link
Member Author

Closing as now complete, for information please see:

https://www.gitpod.io/docs/ides-and-editors/command-line

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Scheduled
Development

Successfully merging a pull request may close this issue.

4 participants