-
Notifications
You must be signed in to change notification settings - Fork 8.4k
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
Auto generate profile from .ssh/config #9031
Comments
I don't hate this. What I'm most worried about is the full path to That being said, I could be entirely wrong and it might just be a static path. That would certainly make this easier. |
@zadjii-msft I test this ssh version use
So I think |
Do we still accept new profile generators? I thought we have moved pass that period. That being said I don't hate the idea, either. Also I'd love to see #7774 landed. |
I'm thinking that this is one of those cases where a proto-extension actually won't work super well. They've got their config in this file already, but then would need to add another service to watch that file for changes. That's the only way I could imagine changes to that file being automatically picked up and turned into new profiles. Plus, I really doubt So this one seems simple enough, and with |
@zadjii-msft I'd argue Visual Studio is also first- party. But generally I see what you mean. |
@skyline75489 VS definitely is first party, which is why we're gonna try and get that PR merged this month 😉 |
This will be an excellent first-party extension. I'm hesitant to do it as a built-in generator (since I don't think we need more of those), but it can come in soon after. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Currently I mainly use ssh through WSL to connect me to servers. I use custom profiles for that. |
I also find myself adding SSH configs to my terminal profiles regularly. However, it could be nice to have a way to setup an includelist/excludelist since I have some configs that just alias some server addresses to a nicer name, but I would have an unusually long profile list if I couldn't opt-out/opt-in which profiles are displayed. That sort of mechanism may be useful for other profile generators as well in case people want to have even finer-grained control over them. I also have some ssh configs that "chain" options (ex. a profile that applies to all 10.0.1.* servers), so I wouldn't necessarily want those kind of configs to show up and a include/exclude list could help with that. Another alternative would be only adding profiles for ssh configs that have a Another thought on this: Since people may have a number of different openssh installs/install locations (as mentioned above), would this just default to using the openssh version in their PATH? That would make sense, though I know that some people may use the git bash/git-bundled ssh along with its agent, which reads from the same |
I found a plugin in vscode for ssh. It use https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh |
For anyone trying this with MS PS, the cmd is This feature would be nice to have. |
Plus 1 on that one. I would very much appreciate such feature! I use vscode and terminal pretty much every day for remote development etc. VSCode already uses the .ssh/config. Terminal doesn’t. Which means I need to maintain two different config files. Kinda inconvenient. How is the progress going btw? |
There's no one currently working on this. If you'd like to contribute, I think we'd welcome the contribution. There may be some continued debate as to whether this should be bundled with the application or supported as a "3rd party" extension. At the moment we don't really have a LoS on 3rd party extensions like this though. I'm in the camp of "probably okay to ship with the Terminal for now". |
This PR looks for the presense of OpenSSH config files and creates profiles from the hosts present. CLoses microsoft#9031
This PR looks for the presense of OpenSSH config files and creates profiles from the hosts present. Closes microsoft#9031
This PR looks for the presence of OpenSSH config files and creates profiles from the SSH hosts present. Closes microsoft#9031
This PR adds a new `SshHostGenerator` inbox dynamic profile generator. When run, it looks for an install of our [Win32-OpenSSH](https://github.com/PowerShell/Win32-OpenSSH) client app `ssh.exe` in all of the (official) places it gets installed. If the exe is found, the generator then looks for and parses both the user and system OpenSSH config files for valid SSH hosts. Each host is then converted into a profiles to call `ssh.exe` and connect to those hosts. Closes microsoft#9031
I see that #14042 is opened to fix this. Great that someone put in the work!!! But with over 20 hosts in my |
) This PR adds a new dynamic profile generator which creates profiles to quickly connect to detected SSH hosts. This PR adds a new `SshHostGenerator` inbox dynamic profile generator. When run, it looks for an install of our [Win32-OpenSSH](https://github.com/PowerShell/Win32-OpenSSH) client app `ssh.exe` in all of the (official) places it gets installed. If the exe is found, the generator then looks for and parses both the user and system OpenSSH config files for valid SSH hosts. Each host is then converted into a profiles to call `ssh.exe` and connect to those hosts. VALIDATION Installed OpenSSH, configured host for alt.org NetHack server, connected and played some NetHack from the created profile. * [x] When OpenSSH is not installed, don't add profiles * [x] Detected when installed via Optional Features (installs in `System32\OpenSSH`, added to PATH) * [x] Detected when installed via the 32-Bit OpenSSH MSI from GitHub (installs in `Program Files (x86)\OpenSSH`, not added to PATH) * [x] Detected when installed via the 64-Bit OpenSSH MSI from GitHub (installs in `Program Files\OpenSSH`, not added to PATH) * [x] Detected when installed via `winget install Microsoft.OpenSSH.Beta` (uses MSI from GitHub) * [x] With `"disabledProfileSources": ["Windows.Terminal.SSH"]` the profiles are not generated Closes #9031 Co-authored-by: Carlos Zamora <[email protected]> Co-authored-by: Mike Griese <[email protected]> Closes #9031
Description of the new feature/enhancement
Dynamic profiles like "Windows.Terminal.Wsl", "Windows.Terminal.Azure", "Windows.Terminal.PowershellCore"
eg:
If
.ssh/config
like this:Then generate profile like this:
Proposed technical implementation details (optional)
Also support
disabledProfileSources
setting.If OpenSSH not installed, then auto disable "Windows.Terminal.SSH" .
The text was updated successfully, but these errors were encountered: