FactorPad
Faster Learning Tutorials

PuTTY SSH - How to configure PuTTY for Windows

Review PuTTY options up front or you may get lost in its tricky interface. The nuances of secure shell connections are confusing enough.
  1. PuTTY - Establish a secure connection.
  2. Linux server - Connect to a server SSH daemon.
  3. Configuration - Review settings by section.
  4. Security - Highlight security topics.
  5. Next up: Linux - Essential Linux commands for the beginner.
Paul Alan Davis, CFA, January 28, 2017
Updated: August 11, 2018
Learn to make PuTTY work for you. In 5 minutes you will.

Outline Back Next

~/ home  / tech  / full stack  / putty ssh windows


PuTTY Setup and SSH Configuration

Beginner

Video Tutorial

PuTTY SSH - How to configure PuTTY for Windows (4:50)

Videos can also be accessed from our Full Stack Playlist 1 on YouTube.

Code Examples and Video Script

Welcome. Today's question: How do you configure PuTTY for SSH access to Linux from Windows?

I'm Paul, and if you are like me, you are excited to connect your computers, but you're always a little nervous about security.

Step 1 - Overview

In this tutorial, we'll use PuTTY to connect a Windows client to a local server running Linux using the Secure Shell Protocol, or SSH.

First, I will show you what a successful connection looks like.

Then we'll shift the focus to PuTTY configuration and security.

And after the computers are connected, the next set of tutorials will cover Linux commands for beginners, on our journey to Data Science.

Step 2 - Connect to a server SSH daemon

Let's get started with the successful connection. Here I've opened a window using PuTTY on my computer. We're pointing to the IP address of the local server, and if the SSH server program is running, on that end, we should be granted access. The term for a program running in the background is called a daemon.

login as: paul paul@192.168.0.15's password: The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Wed Jan 25 22:46:21 2017 from 192.168.0.5 paul@fullstack:~$ clear

All set, here we go. While we are here, let's clear the screen, and use the ps command to see that SSH daemon program, called sshd, currently running and waiting for SSH connections, as detailed in tutorial #8.

paul@fullstack:~$ ps -A (several lines trimmed) 8531 ? 00:00:00 sshd 8537 ? 00:00:00 sshd 8538 pts/0 00:00:00 bash 8548 pts/0 00:00:00 ps 23943 ? 00:00:00 sshd 23960 tty1 00:00:00 agetty

And /sbin/ifconfig, like this, to find something we'll need for later, the IP address of the server 192.168.0.15.

paul@fullstack:~$ /sbin/ifconfig eth0 Link encap:Ethernet HWaddr 6c:0b:8A:36:0c inet addr:192.168.0.15 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: 2600:8803:5000:4c00:6e0f:84bf:fef0:350c/64 Scope:Global inet6 addr: fe80::6f0b:84ef:fef0:350c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1323430 errors:0 dropped:0 overruns:0 frame:0 TX packets:76954 errors:0 dropped:0 overruns:0 carrier:0 collissions:0 txqueuelen:1000 RX bytes:249755742 (238.1 MiB) TX bytes:9205247 (8.7 MiB) Interrupt:16 Memory:df100000-df120000 lo Link encap:Local Loopback inet addr:192.168.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collissions:0 txqueuelen:1000 RX bytes:0 (0.0 MiB) TX bytes:0 (0.0 MiB)

And whatis shows a summary of commands.

paul@fullstack:~$ whatis ps ifconfig whatis ps (1) - report a snapshot of the current processes. ifconfig (8) - configure a network interface whatis (1) - display one-line manual page descriptions

Step 3 - Review PuTTY settings by section

In the PuTTY window, let's right-click on the header frame, and then New Session... for a new session configuration page. (See video for a walk through showing the PuTTY window).

This is convenient because if you accept the defaults, and fill in the IP address of the Linux server (from earlier), and Port number, accepting other defaults, you'd likely make the connection just fine.

However, it's worth a little time to adjust settings and save a session for future use, as I've done here.

By default, logging is turned off. (PuTTY sections are in bold.)

In the Terminal section you will find communication between the server and PuTTY, Keyboard shortcuts. Options for sound (Bell) and some advanced Features. I accepted the defaults for now.

Where I would make changes is in the section called Window, which is where you can adjust width and height in terms of characters and the length of the scrollback window.

In Appearance you set the type of cursor, font and size, mouse and borders. Then the Behaviour of windows with specific keystrokes, Translation for character sets, Selection for advanced drag-and-drop features, and finally settings for Colours.

Next, and it will help to think of it this way, the Connection section aligns with the connection type, meaning PuTTY can make five types and SSH is just one of them.

So they line up, Telnet to Telnet, Rlogin to Rlogin and what we are here for is SSH. So when clicking the (SSH) branch, we can see a spot to enter a command on a server, change protocol settings and sharing.

Step 4 - Highlight PuTTY security topics

What about security? I've taken the simpleist path here just to get the connection to Linux, but as you can see, there are a lot of details that can be selected on Encryption, Authentication, X11 for using a GUI through this connection, and Tunnels for networking.

So let's assume we've modified this to our liking, gave it a new name and hit save. Let's try it out, and there is no reason we can't open a second window to be twice as productive, right?

Now you can see what the default screen looks like, and the one I've modified is larger with a different font, window size too. (Below is a second window).

login as: paul paul@192.168.0.15's password: The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Wed Jan 25 22:46:21 2017 from 192.168.0.5 paul@fullstack:~$ whatis ps ifconfig whatis ps(1) - report a snapshot of the current processes. ifconfig (8) - configure a network interface whatis (1) - display one-line manual page descriptions paul@fullstack:~$ exit

And if you're concerned with safety, as we should all be, because any discussion of security opens a can of worms, especially if you have an Internet-facing server, we'll have other security related tutorials later, including one on tunneling.

Step 5 - Next: PuTTY setup for Windows

Here we have finished our first Project, Server and OS Setup, and next up are tutorials on Linux commands for beginners as we're progressing up the stack.

  • Client : HTML, CSS, JavaScript
  • Software : Python Scientific Stack
  • Data : PostgreSQL, MySQL
  • OS : Linux (command line), Debian

So return for what interests you.

Have a nice day.


What's Next?

That completes our first Project. On YouTube Projects organized as Playlists. Subscribe here and join us at our YouTube Channel.

  • To access all tutorials, click Outline.
  • To review the SSH client on Linux, Mac and Windows, click Back.
  • Head to Project #2 and see the first steps to learning Linux, click Next.

Outline Back Next

~/ home  / tech  / full stack  / putty ssh windows



 
 
Keywords:
ssh client
ssh putty
ssh windows
putty ssh
putty for windows
putty configuration
putty tutorial
putty settings
putty setup
putty options
putty linux
ssh secure shell client