"than configure ssh with connect.c" -> that sounds awful (if I understood you correctly) :(
Are you aware of the ~/.ssh/config file possibilities? You can configure any ssh options you need there and bind them to one word. For me that's much faster than launching gui.
Some examples from my file:
global config - with forwarding and keepalive:
Host *
ForwardAgent yes
TCPKeepAlive yes
SVN repository - no features, host available through 'svn ssh+svn://rsync/...'
Host rsync
User XXXXX
ForwardAgent no
TCPKeepAlive no
HostName ch-s011.rsync.net
Normal hosts - with default username:
Host nat
HostName nat-gw.YYY.net
Host behind nat, using a tunnel through the previous host
Host ZZZ
User some-other-user
HostName 192.168.0....
ProxyCommand ssh -T nat nc %h %p
That way I can have access to the usual hosts with no effort. My default shell host is always "ssh shell
" and with public/private key setup, I don't use passwords at all. Try it - maybe you don't need gui at all.