SSH Mastery: OpenSSH, PuTTY, Tunnels and Keys
Some weeks ago, undeadly.org published an announcement for the book "SSH Mastery" by Michael W. Lucas. The book isn't expensive and I was in the mood, so I bought it at smashwords. (At smashwords I was able to get it both in PDF for reading on the 'puter and in epub for the ebook reader. No DRM either, very reasonable.)
Now, this book came probably a few years too late for me. If you aren't using the ins and outs of ssh yet, if you feel confused by all this stuff ssh does, this is the book for you. It covers OpenSSH and Putty. There's a lot of practical info in there. But then the author clearly says what the book is not:
This book is not intended to be a comprehensive SSH tome.
Too bad, since that would be really nice to have! So for myself I haven't found much new stuff in there. Well, there were some details that I tended to forget and got a good reminder. Also I had never really played much with X Forwarding. I'd like to play around more with X Forwarding just for the cool factor, but right now I don't have any setup where I could use it.
The description of how to do an ssh based VPN gave me much more confidence to try it myself one day... if opening an ssh login for root wouldn't freak me out (even with all the restrictions that you are dutifully guided to set up).
I found one big mistake in the book, it says:
Also note that all IP address bindings must be chosen before opening your SSH session. You cannot add port forwarding to a live SSH session, or change the IP addresses bound during a session.
Indeed we can: We use ssh escapes to do exactly this, at least for sessions with a pty. Type newline + ~C and you'll get a prompt where you can add and remove port forwardings.
In general, escape sentences are missing from the book. This is a pity, since even a beginner might find ~. useful to kick out a stuck ssh session. Apart from these few points I can really recommend the book!