To have a full Raspberry Pi experience, you should use Raspbian, the OS developed exclusively for Raspberry Pi. Raspbian is a Debian-based system optimized to utilize Raspberry Pi hardware most efficiently. If you want to transfer data or administer the device remotely via SSH, you need to enable SSH first.
Follow the steps in this guide to learn how to enable SSH on Raspberry Pi without a screen, from the GUI, or using the raspi-config file. We will also show you how to find the IP address of your Raspberry Pi and how to SSH into the device.
- Raspberry Pi with Raspbian installed
- Access to a computer with a microSD or SD card reader (for pre-2014 Raspberry Pi versions)
- Necessary admin permissions to perform the tasks
- Access to an SSH client: PuTTy in Windows or Terminal in Linux/macOS
If you installed any of the Raspbian versions from late 2016 onwards, then SSH is disabled by default. The reason behind this decision was to improve security. Since all Raspbian images come with a user “pi” and the default password “raspberry,” it was easy for hackers to use this in their favor.
However, you can easily enable SSH on Raspberry Pi even if you do not have a monitor and keyboard connected. We will explain three possible ways to enable SSH on Raspbian. Read through the guide and choose the method that you prefer.
Next, open a Terminal window on your Mac and navigate using the cd (change directory) command to the folder containing the private key file (.pem) created during the EC2 configuration process. This is usually in the Downloads folder unless you moved the file to another folder. Download SSH Config Editor for macOS 10.13 or later and enjoy it on your Mac. Handy tool for manage your OpenSSH ssh client configuration file. You can add or edit identity files, port forwardings (with graphical preview) and any other ssh config option. When using the Files app, I can copy, duplicate, move, delete, tag, rename, or view any file from my Mac thanks to Secure ShellFish’s file provider. I can create new folders on my Mac, download files on demand, and even move documents from the Mac into a different file provider such as iCloud Drive, or vice versa.
Many users run these devices as a web or media server and configure them via SSH. If you use your Raspberry Pi without a monitor and keyboard, then the only way to enable SSH in headless mode is to use a blank boot file.
For this task, you need to create an empty ssh file on another machine. We will use this file on the Raspbian boot SD card to enable SSH. If you do not feel like creating the file yourself, we made the blank ssh boot file available for download.
To enable SSH on Raspberry Pi in headless mode, follow these steps:
1. Make sure you properly installed Raspbian on your Raspberry Pi microSD card. If you have already done so, turn off the device and remove the card.
2. Put the microSD card in the card reader of your computer. Wait until the card mounts. You may need to use a microSD to SD card adapter. All recent Raspberry Pi versions use microSD instead of standard-size SD cards.
3. Navigate to the boot folder. This is the root folder of your SD card. Bootis the default volume name when you install a Raspbian system on an SD card. If you are on a Windows machine, use any file manager, such as Explorer. On macOS or Linux, open a terminal window and type:
Note that the name of your SD card can be something other than “boot”. If it is, open the root volume folder and proceed with the next steps.
4. In the boot volume, create a file without an extension and name it ssh.
- On Windows,right-click anywhere in the boot volume’s white space and select New > Text Document. Delete the .txt extension before you hit Enter. If Windows Explorer on your computer does not show file extensions, click View and enable File name extensions in the menu bar.
- On Mac or Linux, run the
touch
command while in the boot directory to create a blank ssh file:
- On Mac or Linux, run the
5. Safely removeor eject thecard from the computer and insert it again in your Raspberry Pi.
6. Boot up Raspberry Pi.
Every time you turn on the Pi board, the device looks for the ssh file. When the device finds the file, then SSH is enabled automatically. If you correctly created an empty ssh file without an extension, you can now SSH into your device.
Enable SSH on Raspberry Pi using GUI Configuration Options
Things get much faster and easier when you have a monitor and peripherals connected to your Raspberry Pi. If you are used to configuring your device using a GUI, follow the steps below.
Once your device boots up:
1. Click the raspberry logo at the top-left corner.
2. Select Preferences > Raspberry Pi Configuration.
3. Navigate to the Interfaces tab in the configuration window.
4. Enable SSH in the second line.
5. Click OK to save the changes.
That’s it. Your Raspberry Pi is now accessible via SSH. Make sure the device is connected to the internet before trying to establish an SSH session.
If you are used to configuring your system from the terminal, you can choose one of the two options below.
To enable SSH using the raspi-config tool:
1. Open the terminal on your Raspberry Pi and run the tool by typing:
A BIOS-looking raspi-config tool loads.
2. Use the arrows on your keyboard to select Interfacing Options.
3. Select the P2SSH option on the list.
4. Select <Yes> on the “Would you like the SSH server to be enabled?” prompt.
5. Hit Enter on the “The SSH server is enabled” confirmation box.
6. Navigate down and select Finish to close the raspi-config.
You can close the terminal window. Your device is now ready to accept SSH connections.
The final option to enable SSH on Raspberry Pi is to start the systemctl
service from your terminal.
To do so, load the terminal and run these two commands:
The ssh service is now both enabled and started.
Now that you enabled SSH on your Raspberry Pi, you can use SSH to connect from another machine.
Before we can continue, you need to find the IP address of your device. While you are logged in the Raspbian system, open the terminal and run this command:
Alternatively, you can run theifconfig
or ip a
command to find the IP address. We prefer using the hostname
command as it only displays the address without other network information.
Use the Terminal in macOS or Linux to Connect to Raspberry Pi
Using SSH to remotely manage a Raspberry Pi device is the same as managing any other Linux-based machine. Both macOS and Linux have SSH clients by default.
To connect via SSH to your Raspberry Pi from the terminal, use this command:
Note: Pi is the default user account. If you use another account name, type it in instead of Pi. Use your device's IP address identified in the previous step.
The first time you connect to your Raspberry Pi, you will get a prompt to accept the RSA key. Type yes, and the new SSH session starts.
Windows users can SSH into Raspberry Pi using PuTTY.
Start the tool and enter the IP address of your device. Make sure SSH is selected, and the port set to 22.
Click Open to start a new session. Enter your Raspberry Pi’s account username and password.
Ssh In Mac
In November 2016, SSH was disabled by default on Raspbian. This move was made to prevent Raspberry Pi devices from potentially becoming a part of an IoT botnet.
Mac Allow Ssh
Now that you have decided to use SSH to connect to your Raspberry Pi, we advise you to change the default account password.
Since all Raspbian installations come with a default account and password, it is easy for hackers to log into your device. To make your device less vulnerable, change Raspberry Pi’s default password.
Mac Ssh Port
1. To do so, run the raspi-config tool from the terminal on your device:
2. Select the Change User Password option.
Follow the instructions to change the password. Your Raspberry Pi is now ready and more secure for SSH access. We recommend you take further steps to improve SSH security.
Now you know how to enable SSH on Raspberry Pi. This tutorial has shown you how to enable the service even if you do not have a monitor and keyboard connected to your Raspberry Pi. If you have the peripherals connected, then you can choose the method that suits you best.
Make sure you take a few basic steps to secure your device. If you need a reminder on the most common SSH commands, refer to our Linux SSH commands guide.
Next you should also read
This article guides you through the Java installation process on Raspberry Pi. You will also learn how to set…
This guide lists all the steps necessary to install Ubuntu MATE on your Raspberry Pi. This includes…
How To Ssh Into Mac
Update your Raspberry Pi to keep it secure. In this guide you can also learn how to upgrade from an old to…
Rsync is a Linux tool that allows you to transfer data over SSH to a remote server securely. Use the options…
The article covers the 5 most common and efficient ways to secure an SSH connection. The listed solutions go…
Secure Shell is an important protocol for anyone managing and controlling remote machines. This guide covers…