Countdown

265 days since the Man burns....

Linux Server Hacks - O'Reilly Press, Hack #67

One of my absolute favorite server hacks.  This requires that you have already setup SSH keys for authentication instead of passwords.  

Hack #67. Turbo-mode ssh Logins



Even faster logins from the command line



If you've just come from the previous hack, you've only seen half of the solution! Even with client keys, you still have to needlessly type ssh server every time you want to ssh in. Back in the dark, insecure, unenlightened days of rsh, there was an obscure feature that I happened to love that hasn't (yet) been ported to ssh. It used to be possible to symlink /usr/bin/rsh to a file of the same name as your server, and rsh was smart enough to realize that if it wasn't called as rsh, that it should rsh to whatever name it was called as.



Of course, this is trivial to implement in shell. Create a file called ssh-to with these two lines in it:


#!/bin/sh 
ssh `basename $0` $*


(Those are backticks around basename $0.) Now put that in your PATH (if ~/bin doesn't exist or isn't in your PATH already, it should be) and set up symlinks to all of your favorite servers to it:

$ cd bin $ ln -s ssh-to server1 $ ln -s ssh-to server2 $ ln -s ssh-to server3

Now, to ssh to server1 (assuming you've copied your public key over as described previously) you can simply type "server1" and you'll magically end up with a shell on server1, without typing "ssh," and without entering your password. That $* at the end allows you to run arbitrary commands in a single line (instead of spawning a shell), like this:


server1 uptime





Linux Server Hacks



by Rob Flickenger

Published by O'Reilly Media, Inc., 2003

Comments

kyrka's picture

./server tail -f /var/log/apache2/access.log

By kyrka