Let me start this off with a disclaimer; I don’t have an operating system “religion”. I use windows & linux depending on the goal; the right tool for the job. That said, I typically boot into windows and from there connect to many linux systems. I am going to go over how I accomplish this, my preferences, and any tips I might consider useful.

Putty is a great free tool for ssh. However, using the GUI is not a great experience. The first thing I do after installing putty is create a shortcut to “C:\Program Files (x86)\PuTTY\putty.exe” named “ssh” and drop in “C:\Windows\System32”. That is the first step to NEVER looking at the GUI again.

Now, I do open the GUI at least once to configure the default settings. Under session, select “Default Settings” and click Load (I think they are loaded already but meh) now change anything you want under the section on the left and go back to the “Session” section and click “Save”.

For example, have you ever opened a file in vi (don’t tell me how amazing nano is, no religion here) and realized that using the number pad to enter numbers (crazy idea) instead vomits random letters and line breaks?

Yeah that. This gem is fixed by going under “Features” in putty and checking “Disable application keypad mode”.

Anyway, set all your favorite options and “features” and save it as the default session. From here on out I basically never see the GUI. Hold the windows key+r (open the run box) type:

ssh username@hostnameORip portnumberIFNOT22

I spend a lot of my time on the same systems every day, so this just ends up in a simple batch script that floods my screen with black boxes like this:

start ssh -L 5901: username@
start ssh -L 4321: username@
ping -n 4 > nul
start ssh username@ 4321

That ping is a way of doing “wait” or “sleep” for 4 seconds, in this case.

Something like that anyway. “What’s with the -L and stuff? Wait are you SSHing to localhost?!” I will get into that a bit later.