2.4 KiB
Tab Sorcery
A helpful script for simplifying connections to servers and devices on your network.
Shell Setup
Add the script as a source file in your shell prompt, exporting any config variables, such as with lines similar to this:
# Tab Sorcery
export SORC_GEOM_RDP='1600x900' #(Optional) Sets the window resolution for RDP connections
. $HOME/git/tab-sorcery/tab-sorcery.sh example.com 127.0.0.1 bob.user
Arguments for the script are required, in the following order:
Scan Domain (example.com)
Nameserver address (127.0.0.1)
Default username (bob.user)
Once done, all hostnames in the DNS zone should be available for SSH/Telnet/RDP by a tab-completable alias of just the hostname (in new shell sessions).
Can I change the window geometry for rdesktop?
Yes! You simply need to export a variable before calling the tab-sorcery.sh script. The variable to export is called SORC_GEOM_RDP, which will take the form of [width]x[height]. Example:
export SORC_GEOM_RDP='1280x720'
. $HOME/git/tab-sorcery/tab-sorcery.sh example.com 127.0.0.1 bob.user
The default window geometry that is used if this variable is either unset, or if an invalid value is detected is 1600x900.
DNS Setup
You'll likely want to create a DNS zone specifically for this script for better control over the hosts included. I would recommend using a TLD not normally available, to be sure you don't have any overlap with existing DNS names. This domain doesn't need to be publicly queried, and actually it's probably in interest of security if it isn't.
The best way to explain the zone set up is by example. Let's assume you create the zone "not-a-real.lan" and you have 5 hosts, known as host1.not-a-real.lan through host5.not-a-real.lan. If you create the following entries (BIND format shown):
$ORIGIN not-a-real.lan.
host1 IN A 10.0.0.1
host2 IN A 10.0.0.2
host3 IN A 10.0.0.3
host3 IN TXT "cisco"
host4 IN A 10.0.0.4
host4 IN TXT "windows"
host5 IN A 10.0.0.5
How will this work on the client?
In this case, the script will create aliases called host1 through host5.
Hosts 1, 2, and 5 will connect with, for example, ssh -t your.username@10.0.0.1
The host3
alias is tagged with a TXT record for cisco, so it will be: telnet 10.0.0.3
host5
is tagged as a Windows host, so it will use: rdesktop -g 1600x900 -u your.username 10.0.0.5