Comments (14)
+1 .ssh/config is already ok http://nerderati.com/2011/03/simplify-your-life-with-an-ssh-config-file/ and duplication is a risk. (but i understand json parsing is easier)
from shuttle.
I did a quick search and couldn't find anything about it -- maybe one of you can answer it, but can the SSH config file do what the json file does for organizing into submenus?
from shuttle.
yes, look at the Host part
Host namespace-server1
HostName server1.com
..
Host namespace-server2
from shuttle.
Well, there is no built-in hierarchy in ssh config that I know of, however @grigio's solution could work if you group by namespace
after parsing out the hosts.
Not-so-great thing about this solution is that you would have to use the 'fully qualified' host alias when ssh'ing manually but if this tool works nicely enough, you shouldn't have to. :)
from shuttle.
The main issue, like @jtymes mentions, is organizing hosts into submenus. @grigio's approach of prefixing the Host
s with the group name is interesting.
Within the .ssh/config file, would there be a way to assign each of the hosts a friendlier name to appear in the menu, instead of the host alias?
from shuttle.
π for this feature.
Actually, I don't really see the point of such an app without .ssh/config support.
I mean: I always have iTerm2 open and all I have to do to is type 'ssh ' in, press tab to list my configured hosts and press enter to connect to the selected one. Why would anybody with a great .ssh/config file will want to use this app if he have to manually rewrite all his settings in a non-standard json file?
from shuttle.
@fitztrev what do you mean with "..a friendlier name to appear.." ? I tried with my sshconfig and Host can have dots and / . So using this convention there shouldn't be limitations.
# ~/.ssh/config
Host work/example.com # format: namespace/HostName
HostName example.com
User deploy
Port 8202
Host work/other-site.com
HostName other-site.com
User deploy
IdentityFile ~/.ssh/id_rsa
Which could be rendered as:
ββ work
ββ example.com # this can be the the splitted "/" part of `Host` or `HostName`
ββ other-site.com
and of course you're still able to access to that website with:
$ ssh work/other-site.com
What do you think of this Unix-y convention over configuration?
from shuttle.
π for automatic parsing of the ssh config file.
By the way the Host
definition can be any identifier and is not required to be a fully qualified domain name.
from shuttle.
@grigio I meant allowing for the label to be "My Awesome Host" instead of "myawesomehost.com", like the current JSON configuration allows. But now that I think about, I don't see that as necessary.
I do really like your proposal. I think that's a good way to go. It would probably also add support for 10.6 as a byproduct.
from shuttle.
@fitztrev space isn't allowed as Host character, but you could do:
Host work/My_Awesome_Host # format: `namespace/label`
HostName other-site.com
User deploy
IdentityFile ~/.ssh/id_rsa
but I like more to have the Host as namespace/HostName
so it is also easy to remember it via a plain ssh
command in the terminal.
The unique thing to parse is the row which starts with "Host .." and split('/') to build the data structure with "namespace" and "HostName". I'd open a pull request if I'd know objective-c :)
from shuttle.
The current PR supports nesting for SSH Config Values.
from shuttle.
π
from shuttle.
Released in v1.1.0.
from shuttle.
I tried to delete my .shuttle.json and now i get "Error parsing config". I've the same error also with the default one
from shuttle.
Related Issues (20)
- Shuttle doesn't open Iterm2 new tab or window HOT 6
- Shuttle generate a huge vimswp file HOT 1
- Strange host in app, not in config
- can't open iterm when iterm is completely quit
- Not an issue but a "Thank you" HOT 2
- Shuttle stops working after upgrade to Big Sur HOT 10
- Is it possible to support Native Apple Silicon? HOT 4
- Don't open the terminal window when execute the command
- Whats the latest version? HOT 1
- Use kity for terminal emulator? HOT 2
- Shuttle stop working after upgrading to macOS Big Sur HOT 2
- CanΒ΄t make Shuttle work in Monterey HOT 8
- error
- Feature Request: add an optional unique slug to any bookmark
- How to use warp terminal to run my cmd? HOT 5
- Feature request: "tab" but open in new window if not exists
- Escaping help?
- Icon in Menu Bar not showing HOT 1
- βtabβ option not working HOT 4
- New Apple Silicon M1 / M2 App - SwiftUI and MenuBarExtra - MenuBarSSHCommands HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from shuttle.