Doing nice things with your SSH config file

Home |

If you are running a unix-like machine, like a Linux workstation, or BSD or Apple Mac, you might be acquainted with the ~/.ssh directory. SSH stores known hosts in their, as well as your public and private SSH keys and more important stuff.

The contents of a ~/.ssh/config look something like:

Host homeserv
	HostName home.mydomain.net
	Port 22
	User michiel

	# Routers, so I config them from on the road
	LocalForward localhost:8001	192.168.1.1:80
	LocalForward localhost:8002	192.168.1.2:80

	LocalForward localhost:

	# SickBeard
	LocalForward localhost:8081	localhost:8081

Host dev
	HostName dev.corp.net
	Port 22
	User mscholten

Of course you can add as many 'Host' configs as you like.

You can now use these configs from your terminal: ssh dev instead of ssh mscholten@dev.corp.net (or those long lines with port forwards you tended to create an alias for in ~/.bash_aliases).

Bonus: if you are running gnome-shell on your machine, you can install the SSH search provider extension, so you can directly launch a terminal with all settings in place from the overview page. Productivity boon in my not-so-humble opinion ;)

For more information, see Advanced SSH configuration and tunneling: We don't need no stinking VPN software.

Also, if you want do some VPN-like stuff, you really need to check out Never again be thwarted by restrictive "guest" wifi (e.g. on buses or airplanes). The sshuttle proxy they use is really nifty.

Comments

Add comment

You need to provide a valid e-mail address to comment here, but it will not be displayed on this website. HTML will be escaped, so you won't be able to add links. Post the URL instead. Line breaks will be converted to breaks.

Name

E-mail address


Mail me when someone else comments too
Your address won't be shown in your comment

WWW


Leave empty if you don't want to provide a url

Are you a spammer (yes/no)?

Be sure to save your comment after you've previewed it!