UI for managing SSH sessions #17743

Closed
opened 2026-01-31 05:52:04 +00:00 by claunia · 3 comments
Owner

Originally created by @ohault on GitHub (Jun 19, 2022).

Description of the new feature/enhancement

To open a SSH session, it's currently a pain to have first to add a profile with a specific command with parameters to launch either Putty or ssl just to connect to a SSH server from Terminal. It's even worse if you have to connect to this SSH server only once, because you have to delete this profile later.

This feature with provide a simple way for users to open a SSH session directly from the main Terminal windows (top bar)

Proposed technical implementation details (optional)

Without the need to create a profile, the user will select new ( "/ SSH session") directly from the top bar, a basic UI will open to fill connection parameters, an option to save it as a profile, and a Connect button.

If a profile has been created, the user could later simply use it to connect to the given SSH server

Originally created by @ohault on GitHub (Jun 19, 2022). # Description of the new feature/enhancement To open a SSH session, it's currently a pain to have first to add a profile with a specific command with parameters to launch either Putty or ssl just to connect to a SSH server from Terminal. It's even worse if you have to connect to this SSH server only once, because you have to delete this profile later. This feature with provide a simple way for users to open a SSH session directly from the main Terminal windows (top bar) # Proposed technical implementation details (optional) Without the need to create a profile, the user will select new ( "\/ SSH session") directly from the top bar, a basic UI will open to fill connection parameters, an option to save it as a profile, and a Connect button. If a profile has been created, the user could later simply use it to connect to the given SSH server
Author
Owner

@zadjii-msft commented on GitHub (Jun 21, 2022):

The party line is that the Terminal is a great terminal emulator. That's what we're trying to be first and foremost - not a ssh client. This is a really good idea for someone to write an extension in the future (when those are supported, see #4000), but it's not something we'll be adding ourselves.

There is a request open for creating dynamic profiles from .sshconfig, and I think that's a really neat idea (see #9031). That might help bridge the gap here. I suspect it wouldn't be too hard for someone to write a UI for configuring that quickly, and then we could ingest those changes.

Other similar discussions:

Thanks!

@zadjii-msft commented on GitHub (Jun 21, 2022): The party line is that the Terminal is a great _terminal emulator_. That's what we're trying to be first and foremost - not a ssh client. This is a really good idea for someone to write an extension in the future (when those are supported, see #4000), but it's not something we'll be adding ourselves. There is a request open for creating dynamic profiles from `.sshconfig`, and I think that's a really neat idea (see #9031). That might help bridge the gap here. I suspect it wouldn't be too hard for someone to write a UI for configuring that quickly, and then we could ingest those changes. Other similar discussions: * #9917 * #10193 * #7660 * #626 Thanks!
Author
Owner

@ohault commented on GitHub (Jun 21, 2022):

I agree, there are two parts in this feature request:

In one hand, there is the "Dynamic Profiles" but not limited to .sshconfig, because it also applies to WSL, Remote Power Shell, etc. The need is here to have a generic entry from the top bar like "Connect to". This "Connect to" should be able to enumerate targets based on there type (SSH, WSL, Remote PowerShell, etc ) and memorised your favorites.

On the other hand, there is the backend type. Here SSH is just another flavour to complement WSL, Remote PowerShell,..., but a required one as we can see with all others requests about it.

@ohault commented on GitHub (Jun 21, 2022): I agree, there are two parts in this feature request: In one hand, there is the "Dynamic Profiles" but not limited to .sshconfig, because it also applies to WSL, Remote Power Shell, etc. The need is here to have a generic entry from the top bar like "Connect to". This "Connect to" should be able to enumerate targets based on there type (SSH, WSL, Remote PowerShell, etc ) and memorised your favorites. On the other hand, there is the backend type. Here SSH is just another flavour to complement WSL, Remote PowerShell,..., but a required one as we can see with all others requests about it.
Author
Owner

@zadjii-msft commented on GitHub (Aug 1, 2022):

I've been noodling on this for a while. Yes, this is a cool idea, and would definitely be useful, we simply don't have the engineering resources to optimize the Terminal for ssh seesion management like this. We're hoping to make the Terminal the optimal general purpose terminal emulator, with support for lots of types of ssh connections. But ultimately we don't have the time to create new UIs and settings structures to support this.

I'm all for someone building a tool for graphical management of SSH sessions, and even for persisting them in a way the Terminal can ingest as fragment profiles. That would be a great way to go about this! But unfortunately, that's just not going to be something shipped inside the Terminal itself.

Thanks for the suggestion and discussion!

@zadjii-msft commented on GitHub (Aug 1, 2022): I've been noodling on this for a while. Yes, this is a cool idea, and would definitely be useful, we simply don't have the engineering resources to optimize the Terminal for ssh seesion management like this. We're hoping to make the Terminal the optimal general purpose terminal emulator, with support for lots of types of ssh connections. But ultimately we don't have the time to create new UIs and settings structures to support this. I'm all for someone building a tool for graphical management of SSH sessions, and even for persisting them in a way the Terminal can ingest as fragment profiles. That would be a great way to go about this! But unfortunately, that's just not going to be something shipped inside the Terminal itself. Thanks for the suggestion and discussion!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#17743