# SSH Frontend

## helfrez

Does anyone know of a Nix program or is capable of coding a quick gui frontend for ssh. I have a about 100 different routers,switches,servers that I access regularly, and I would liek to have a nice gui with nested folders and such to manage all the links for ssh and telnet mainly.  I have used SecureCRT under w32 but I am fast on the track of being winfree.  Just wondered if anyone out there knew of a Nix program with similar functions or could code a simple frontend... Mainly I need to have the nesting of connections and it would be nice if it could trigger tabs...should be pretty simple for a code junky...X11 no need to be desktop specific.

----------

## moocha

Why not simply use aliases in your .bashrc? Something like 

```
alias conn-net1-host1="ssh user@net1-host1"

alias conn-net1-host2="ssh user@net1-host2"

alias conn-net2-host1="ssh user@net2-host1"
```

 etc etc? That way you'd use bash autocompletion in a multi-tabbed terminal - voila, can't get much faster than that, it's quick to change (just edit a text file and re-source it to change the aliases), and it beats having to click around in folders.

----------

## helfrez

multiple that by about 200x and then it get nasty keeping the list in a managable format. I know there as other ways of handlin the situation, but none of them are very clean.  I could also just make a folder of links or launchers to do this, but thats still kinda sloppy, effeective, but not very managable at 200 entries... I was looking for a move convienient way of accomplishing this...Thanks for any assistance anyone can put forward...im not a code-junkie so I can testify for the difficulty, but i dont think it would be very difficult for a good coder...just need support for ssh and telnet with options, dats about it.

----------

## image

```
emerge putty
```

----------

## kezzla

YUP ->>> # emerge putty !!!!

----------

## allucid

 *moocha wrote:*   

> Why not simply use aliases in your .bashrc? Something like 
> 
> ```
> alias conn-net1-host1="ssh user@net1-host1"
> 
> ...

 

eeew! There's an ssh config file for this. Here's the format:

~/.ssh/config

```
Host foo*

Protocol 2

HostName foobar.gentoo.rox.edu

User allucid

Host poo*

Protocol 2

HostName barfoo.dood.com

User allucid

```

Then you can just type 'ssh foo' or 'ssh poo'. And you can upload your key if you don't want to type in your password everytime.

or....I saw secpanel in portage, that may be what you are looking for.

----------

## Kope

putty is awesome. I side with the putty recommendations.

A nice side effect is you can have the same client on any windows boxen you happen to have to use.

----------

## moocha

 *allucid wrote:*   

> eeew! There's an ssh config file for this. Here's the format:
> 
> ~/.ssh/config
> 
> ```
> ...

 

*blushes* Whoops.

Another possibility would be to emerge app-shells/bash-completion. It's got autocompletion (tab is fun  :Very Happy: ) for a lot of things, including ssh (taking the completions from known_hosts.

Edit: Forgot quote tags.

----------

## Kope

Moocha for doing hundreds of devices, completion and aliases just won't be enough for most people.

----------

## helfrez

Yeah I've tried putty, and I appreciate the suggestions, but I was really looking for the nested folders for organization, makes for cleaner management in an enterprise environment..flat l ists are just to cumbersome.... keep'm coming though

----------

## moocha

 *Kope wrote:*   

> Moocha for doing hundreds of devices, completion and aliases just won't be enough for most people.

 

I don't know... Well, it's of course ultimately down to personal preference, but completion combined with a logical naming scheme would make the best sense for me. GUIs are very useful, but in a pinch the major timesaver for a network administrator is the CLI shell.

Ah well.

----------

## Kope

 *Quote:*   

> 
> 
> . . . logical naming scheme . . .
> 
> 

 

Ah! See, I never anticipate a logical naming scheme  :Smile: 

I've had the wierd pleasure of working in a company with at leat 5 incompatible naming schemes for networking devices, zillions of employees and systems scattered all over the world, as well as having aquired about a few hundred companies in the last 5 years and having to integrate their devices as well ...

The only logic I can discern is that any name which gives you an indication of what or where the device is should be eschewed in all cases in favor of obscure references to geek cult movies.  :Smile: 

I've just used putty and saved the session name with a more descriptive logical name . . but folders would be a good idea.

In the meantime -- putty with a good naming scheme for sessions is really very useable --

session names like:

businessunit subnet edge routers - <device name>

business subnet edge routers - <device2 name> 

etc..

That said, a look through the avialable Linux ssh clients doesn't really come up with something like this. I think I've found me a coding project  :Smile: 

----------

## burrelln

what about making a hierarchy of folders in Nautilus (if using GNOME) containing Machinex.desktop files similar to the following:

```

[Desktop Entry]

Comment=

Exec=gnome-terminal -t Machinex -x ssh -X machinex

Hidden=false

Icon=gnome-terminal

Name=Machinex

Path=

Terminal=0

TerminalOptions=

Type=Application
```

I do this now with ~50 machines and it works well.  If you are feeling tricky you might automate the creation of such files using a shell script.  Might be able to make it work with tabs by adjusting your gnome-terminal preferences (the --tab option ?).  Just an idea.

----------

## revertex

you may consider keychain...

----------

## helfrez

nah Keychain isnt the answer either... Kope is feeling where I am coming from...it seems simple enough to make foldering in nautilus, or us somethign liek SecPanel...but once u scale it out to a few hundred links, it gets cumbersome and messy at best...keep the ideas coming though..and Kope...if you could, all of you efforts would be greatly appreciated, I think its a niche that really needs to be filled appropriately. Let me know if there is anythign I can do to help..I'm no coder, but I'm pretty quick on the gimp and photoshop...and I will donate webspace or resources if needed, but I believe most people opt for sourceforge...go for it!!!

----------

## zentek

What about a combo of perl curse and some DB?

I will require a bit of work but this hould not be too hard.

----------

## ioslipstream

Konqueror.  fish://${REMOTE_IP_ADDRESS}

----------

## Janne Pikkarainen

How about Bookmarks in KDE/Konsole? They can be organized in same way as web browser bookmarks and seem to be pretty handy for those who like graphical interfaces.

----------

## Chris W

Could you elaborate on how you bookmark an ssh terminal session in Konsole?

----------

## Janne Pikkarainen

Sure. Fire up Konsole, select Bookmarks --> Edit Bookmarks from top menu, put whatever name you want to Name-field, and Location-field should be something like ssh://root@selinux.dev.gentoo.org. Easy enough?  :Smile: 

----------

## helfrez

I am aware there are many *dirty* different ways to implement this without having a separate application do the work..that is why I was specifically searching for an application solution, not a workaraound.

----------

## Janne Pikkarainen

How is using Konsole a work-around? Actually Konsole is the most sophisticated ssh program I've ever seen and the built-in bookmarks function in it is a big plus for those who prefer a more graphical way of managing connections. Ok, if you don't use KDE at all, then emerging it can be overkill...

----------

## helfrez

Looking for a standalone application to handle this function. not Konsole links or konqueror links or shortcuts. Most off the servers i administer from have very slim gui specs runnign openbox or fluxbox at the most....no need to install all of kde to get Konsole for links.

----------

## DefconAlpha

well, i think the real questions should be:

1. what language?

2. [dependent upon 1] what gui?

3. specifically, what features?

yea yea... it's summer... i'm a bored coder :P

----------

## helfrez

This overworked technician appreciates any time and effort you can put forth.

Brief Rundown of Optimal Scenario

1 - Launch the program

2 - Presented with a window displaying all the setup connection listed in a maintanable view (so I can say have a separate folders or categories for Hub,Routers,Switches, etc)

3 - Select the appropriate link and click some form of execute button, and the program launches a terminal window (gnome-terminal, konsole, xterm, im not picky) (bonus points is if opens in a new tab in gnome-terminal or konsole) xterm might be the best choice so it wont be dependant on any gui.

4 - Or I select to edit/add an entry/folder/category and am presented with a configuration screen that allows you to select protocal, enter the server address, modify connection options (ie.login name, port mainly)

Language - English

GUI - preferably GTK2 based for a nice blend into gnome, but QT is fine also, I flip-flop between gnome,kde,fluxbox depends on the machine.

 Features (by importance)

1 - Some form of folder/category organization - similar to the way securecrt w32 operates. So I can manage roughly 200 routers,switches,hubs,etc.

2 - Support for SSH and Telnet with login properties (username,password,port) any additional protocols are welcome.

3 - Not important but a nice bonus if 3270 and basic vt100 emulation can happen, I have some 3270 machine that would be nice to get into sometimes. 

You can reference the following link for an idea of what I have been using. I'm not asking for a billion dollar program, but something organized and functionally similar to SecureCRT, images below

http://www.vandyke.com/products/securecrt/screenshots.html

Thank Again for any assistance on gettin me up and running.  Feel free to include a link for donations and let me know if you need any graphics/webspace or sumthin for the project.[/url]

----------

## nobspangle

I have a similar senario at work, I have around 200 PCs all running vnc, to access them I have a simple script that I wrote. I type "myvnc username" and that connects me.

The script is created automatically by another script which runs on a server every 15 minutes and gets the info (host names, IPs, passwords, ports etc.) from a database. Whenever I get a new PC I edit the database and the script is built, then all the PCs I use for access download the script at logon.

This took a bit of initial setting up but now the system is simple.

For your requirements as has already been suggested you could use a set logical naming pattern like 

switch-building-uniqueref

server-building-uniqueref

You can give your database a simple folder-like hierarchy by having switch, building, and unique ref as seperate fields which are assembled by the script.

My other thought, (if you're really intent on bringing up sessions with a mouse click) would be to create a script for each connection then place those scripts into directories and launch them with a click of the mouse.

----------

## wardred

You don't need the servers you're connecting to to run Konqueror.  You just need the desktop or workstation you're currently running to have it.  It can "browse" the net for open ssh, ftp, http, etc.  The servers running these services don't even need to have a GUI at all...

----------

## helfrez

No disrespect intended, but I am not sure where your commen fits into the discussion, wrong post? no one is trying to or discussion Konqueror features here.

----------

