Going Headless by Connecting to your Raspberry PI remotely using SSH and Putty
Using SSH (Secure Shell) you can control one computer with another computer. What does this mean to you? You can create your own personal cloud computer, storing backups of files, a music and video library, or anything else you can think of on a computer system that costs less than a $100! In this tutorial, we'll walk through setting up SSH on a Raspberry Pi and then accessing the Raspberry Pi through another Windows computer by using a program called PuTTY.
Going headless with Raspberry Pi
What you need
You don't need much to connect to a Raspberry Pi with SSH. By design, it is a minimalist solution.
- A Raspberry Pi with the Rasbian operating system installed. If you haven't gotten this far, this guide covers your first day with Raspberry Pi.
- A keyboard and monitor to temporarily connect to the Raspberry Pi.
- Another Windows desktop or laptop to connect to the Raspberry Pi.
This guide covers using a Windows based PC to connect to the Raspberry Pi, but that doesn't mean Windows is a requirement. SSH connects can be made with Windows, Mac, Linux, or even smartphone devices.
OK. Let's get started!
Step 1: Enabling SSH on your Raspberry Pi
First off, what is SHH?
SSH stands for Secure Shell, and it is a way to form a connection between two computers that is encrypted. This is important because sensitive information like passwords have to be sent between the two computers. SSH can accomplish many "network services," at least two of which you'll use often as a headless Raspberry Pi owner. These are SSH file transfers, which are covered in other tutorials, and SSH remote command line login which is the goal of this tutorial.
Remote Command-line Login
This is our goal. We want to be able to run the command line of the Raspberry Pi by connecting to it (through SSH) with another computer. First things first, let's make sure SSH is enabled on the Raspberry Pi. When you booted up the Raspberry Pi for the first time, you likely saw this configuration menu. To access this window again, open up a command line terminal on your Raspberry Pi and type in:
Enabling SSH on first boot-up
In this configuration menu, choose Advanced Options. From the Advanced Options menu, choose SSH. Then choose Enable. If you happen to be booting up the Raspberry Pi for the first time, this is the easiest way to assure SSH is installed.
If you are not booting up for the first time, the easiest way to assure SSH is installed is to open up a terminal and type in:
sudo apt-get install ssh
Executing this command by pressing enter tells the Raspberry Pi to check if SSH is installed, and if it isn't, download the necessary files and install them.
Now that we know SSH is installed, let's try connecting to it!
Find your Raspberry Pi's Hostname
Before we switch to the Windows computer, it helps to determine the hostname of your Raspberry Pi. A hostname is a convenient way of targeting and connecting to another computer without needing the IP address.
To find the hostname, type "hostname" into the terminal without quotes and hit Enter. Write down the result. If you have never changed the hostname, the default for a Raspberry Pi is "raspberrypi". The hostname is a convenience, but we want you to be able to find your IP address and connect via that as well. To find the IP address, type in "hostname -l" into the terminal without quotes and hit Enter. Write that down also.
Switching to the Windows computer
You'll need to install an SSH Client on your Windows computer. I recommend PuTTY. PuTTY's website describes it as: "A free implementation of Telnet and SSH for Windows and Unix platforms." It's free, commonly used, and does what we want it to do. You can download it here. Choose the putty.exe file under "For Windows on Intel 86."
Once the putty.exe file is downloaded, place it in a location you will remember. The Desktop works great. PuTTY doesn't need to be "installed" and instead runs directly off the downloaded putty.exe file. To start PuTTY, double-click on putty.exe. You will see the screen pictured below.
Assuming you're connecting to the Raspberry Pi from a computer that is connected to the same network (another computer in your household that is connected to your internet), you can either type the hostname or IP address into the highlighted box. Make sure the port is set to 22. Then click Open.
If a security pop-up is shown, click Yes. This is warning you that it's the first time you've connected to this device.
You'll be shown a command line terminal asking for a login name. Enter the default username of "pi" if you haven't set up a new user, and hit Enter. Then you'll be asked for a password. If you have changed the password, enter your password. If not, enter the Raspberry Pi default password of "raspberry".
You're now connected!
Success! You are now connected to your Raspberry Pi from another computer. Every command you type into the command line window that PuTTY opened for you is being executed on the Raspberry Pi. You no longer need a monitor, mouse, or keyboard attached to the Raspberry Pi. Congratulations on going "headless"!
Questions? Thoughts? Plans?
Let us know if you have any questions about this guide or Raspberry Pi. What are you going to do with your Raspberry Pi? Join the conversation, leave a comment!
© 2014 John Himics