How to Enable SSH on Raspberry Pi {Linux, Mac OS, Windows}?


The Raspberry Pi is a popular, credit-card sized computer that can be used for various purposes such as media center, gaming console, and even as a web server. These devices run on different operating systems such as Raspbian (a version of Debian Linux), Windows 10 IoT Core, and Ubuntu among others. One of the functionalities provided by these devices is the ability to connect remotely via Secure Shell (SSH).

Explanation of SSH

SSH (Secure Shell) is a protocol that allows users to securely access remote computers over an unsecured network. It uses encryption to protect all communications between the client and server, ensuring privacy and integrity of data transferred over the network. SSH has become an essential tool for remote access due to its security features.

Importance of enabling SSH on Raspberry Pi

Enabling SSH on your Raspberry Pi opens up a world of possibilities for remote management and control. You can easily access your Raspberry Pi from any computer in your network or over the internet without having to physically interact with it. This makes it convenient for managing headless servers or IoT projects where physical interaction may not be possible.

In addition, enabling SSH on your Raspberry Pi allows you to execute commands remotely on its command line interface (CLI). This capability can be useful when debugging or testing applications running on your device.

Enabling SSH on Linux

Checking if SSH is already enabled

Before enabling SSH on your Raspberry Pi, it's important to check if it's already enabled. This can be done by opening the terminal on your Linux machine and typing in the following command −

sudo systemctl status ssh 

This command will check the status of the SSH service on your Raspberry Pi.

If the service is enabled, you should see a message that says "active (running)" or "active (exited)". If the service is not enabled, you will see a message that says "inactive (dead)".

Enabling SSH using the terminal

If SSH is not already enabled on your Raspberry Pi, you can enable it using the terminal. To do this, open up a new terminal window and enter the following command −

sudo raspi-config 

This will bring up a configuration menu for your Raspberry Pi.

Use the arrow keys to navigate to "Interfacing Options" and then select "SSH". From here, you can choose whether to enable or disable SSH.

Once you've selected "Enable", press Enter and then choose "Finish" to exit raspi-config. You have now successfully enabled SSH on your Raspberry Pi!

Enabling SSH on Mac OS

Checking if SSH is already enabled

Before enabling SSH on your Mac, it's important to check whether it's already enabled or not. To do this, open the Terminal application and type the following command −

systemsetup -getremotelogin 

If remote login (which includes SSH) is already enabled, the command will return "Remote Login: On". If not, it will return "Remote Login: Off".

Enabling SSH using the terminal

Assuming that remote login is currently disabled, here's how to enable SSH on your Mac using the terminal −

  • Open Terminal and enter the following command −

sudo systemsetup -setremotelogin on 

This will prompt you for your administrator password.

  • Once you've entered your password, you should see a message saying "Remotelogin: On". That's it!

You've now successfully enabled SSH on your Mac. You can now connect to your Raspberry Pi using an SSH client such as PuTTY (on Windows) or Terminal (on Linux or macOS).

Enabling SSH on Windows

Windows users can enable SSH on their Raspberry Pi by downloading and installing a software called PuTTY. PuTTY is a free, open-source terminal emulator that supports SSH and is widely used for remote access to servers and other devices. In this section, we will guide you through the process of downloading and installing PuTTY on your Windows computer.

Downloading and installing PuTTY

To download PuTTY, go to the official website at and click the "Download PuTTY" button. This will take you to a page with different versions of PuTTY available for download. For most users, the 64-bit version of putty.exe is recommended.

After downloading the installer, run it by double-clicking on the file. This will launch the installation wizard.

Follow the wizard's prompts to install PuTTY on your computer. By default, PuTTY will be installed in C:\Program Files\PuTTY\.

Configuring PuTTY to enable SSH

Once you have installed PuTTY on your Windows computer, you can use it to connect to your Raspberry Pi over SSH. To do this, launch PuTTY from your Start menu or desktop shortcut.

In the "Host Name (or IP address)" field, enter the IP address or hostname of your Raspberry Pi. Make sure that "SSH" is selected as the connection type and that port 22 is used (this is usually the default).

Click "Open" to start a new SSH session with your Raspberry Pi. You may be prompted with a security alert about an unknown host key for your Raspberry Pi - this is normal and expected behavior.

Troubleshooting common issues with enabling SSH

Firewall settings: Why SSH fails to connect?

One of the most common problems people encounter when enabling SSH on their Raspberry Pi is that they are unable to connect to it. This can be caused by various reasons, but one of the most common ones is a firewall blocking the connection. Firewalls are designed to protect your computer system from unauthorized access and prevent hackers from taking advantage of any vulnerability in your system.

However, if you want to enable SSH on your Raspberry Pi, you need to make sure that the necessary ports are open. To solve this issue, first check if your firewall is blocking the connection by disabling it temporarily or configuring it to allow traffic on port 22 (the default port used for SSH).

Incorrect login credentials: What should I do?

Another common cause of failed SSH connections is incorrect login credentials. When you enable SSH on your Raspberry Pi for the first time, it is essential that you create a new user account with appropriate permissions and a strong password.

It's also important that you remember these credentials since they will be required every time you attempt an SSH connection. If you're having trouble connecting via SSH due to incorrect login credentials, there are several things you should try −

  • Ensure that your username and password are correct

  • Check if there are any typos in either field

  • Verify that Caps Lock isn't enabled (if applicable)

  • Try logging in as root (if enabled) instead of using a regular user account

If none of these solutions work for you, then it may be necessary to reset your password or create a new user account with the appropriate permissions.


In this tutorial, we have learned how to enable SSH on a Raspberry Pi running Linux, Mac OS, or Windows. We have covered the basic concepts of SSH and why it is important to enable it on your Raspberry Pi.

We have discussed in detail the steps required to enable SSH on each platform and some common troubleshooting tips. Enabling SSH allows you to remotely access your Raspberry Pi's command line interface from another computer.

Updated on: 08-Jun-2023


Kickstart Your Career

Get certified by completing the course

Get Started