Glows 0105 AI Enhanced

How To Use SSH Raspberry Pi Through Firewall Windows

Use vs. Utilize – What's the Difference? Grammar & Punctuation Rules

Jul 14, 2025
Quick read
Use vs. Utilize – What's the Difference? Grammar & Punctuation Rules

Getting your Raspberry Pi to talk to you from a distance, especially when a Windows computer is in the way, can feel like a puzzle, yet it's something many folks want to do. It's a bit like trying to call a friend who lives behind a big, secure gate; you need to know the right way to get through, and you need to have the right phone. This process of using a connection method called SSH, or Secure Shell, allows you to give commands to your small computer from your Windows machine, even if it's in another room or another part of the world, so it's pretty useful.

It’s pretty handy, actually, to be able to access your small computer from anywhere, maybe even from a coffee shop, without needing to plug in a monitor or keyboard. This means your Raspberry Pi can just sit there, doing its work, and you can still tell it what to do, which is rather convenient. You might want to check on a project, grab some files, or even start a new program, and doing all of that without physically touching the device is a real time-saver, you know?

We're going to talk about how to set this up, making sure your Windows firewall lets the connection happen and that your network sends the right signals to your little Pi, so you can control it remotely, more or less. We'll go through the steps needed to put this remote control into service, making sure all the pieces are working together to let you apply your commands from afar, which is what we want to achieve here, basically.

Table of Contents

Preparing Your Raspberry Pi for SSH

Before your Windows computer can even think about connecting to your Raspberry Pi, your Pi needs to be ready to listen for those connections. This means making sure the SSH service is running on it. For newer versions of the Raspberry Pi operating system, called Raspberry Pi OS, SSH isn't turned on by default. You have a couple of ways to get this service going, so it's almost always a simple thing to do.

One common way is to use the Raspberry Pi Configuration tool, which you can find in the Preferences menu on the desktop. Inside that tool, there's a tab called 'Interfaces.' If you click on that, you'll see an option for 'SSH.' You just need to make sure the little circle next to it is checked. Once you do that, the Pi is set up to accept incoming SSH connections, which is really what we're after. This puts the SSH feature into action for you.

Another way, if you're setting up a new Pi or don't have a screen connected, is to put an empty file named `ssh` (no file extension) onto the boot partition of your SD card. When the Raspberry Pi starts up with this SD card, it sees that file and automatically turns on SSH. This is a neat trick for headless setups, where you don't have a monitor or keyboard hooked up to the Pi, you know? It's a straightforward way to employ the SSH service right from the start.

After you've got SSH enabled, you'll need to figure out your Raspberry Pi's IP address. This is like its unique street address on your home network. You can find this by opening a terminal window on the Pi itself and typing `hostname -I`. That command will show you a series of numbers, usually starting with something like `192.168.1.x` or `10.0.0.x`. Write this number down, as you'll need it when you try to connect from your Windows computer. Knowing this address is rather key to making the connection work, basically.

It's also a good idea to make sure your Raspberry Pi's software is up to date. This helps with security and makes sure everything runs smoothly. In the terminal on your Pi, you can type `sudo apt update` and then `sudo apt upgrade`. This might take a little while, but it ensures your Pi is in good shape to handle remote connections, so it's a worthwhile step to take. This helps to put the latest system improvements into service.

What Tools Do You Need on Windows?

To connect to your Raspberry Pi from Windows, you'll need a program that can speak the SSH language. The good news is that Windows has some built-in options now, and there are also some very popular free tools you can get. This part is about getting your Windows machine ready to make the call, in a way.

One of the most common tools people use is called PuTTY. It's a small, free program that's been around for ages and works really well for SSH connections. You can find it by searching for "PuTTY download" on the internet. Once you've got it, you just run the executable file, and it gives you a simple window to type in your Pi's IP address and start the connection. It's pretty simple to put this tool into service.

Alternatively, if you have a newer version of Windows 10 or Windows 11, you might already have an SSH client built right into your operating system. You can open the Command Prompt or PowerShell and just type `ssh` to see if it's there. If it is, you can use it directly from the command line, which some people prefer. This means you don't need to download anything extra, which is convenient, actually. You can just apply this built-in feature.

Both PuTTY and the built-in SSH client do the same job: they let you send commands to your Raspberry Pi securely. Which one you choose really comes down to what you feel most comfortable with. Some people like the graphical interface of PuTTY, while others like the directness of the command line. Either way, having one of these ready on your Windows machine is the next step to putting your remote control plan into action, so to speak.

Why Does the Windows Firewall Block SSH?

Think of your Windows firewall as a security guard for your computer. Its main job is to keep unwanted visitors out. When you try to connect to your Raspberry Pi using SSH, your Windows computer is essentially trying to send information out and receive information back on a specific "port," which is like a numbered door. The firewall, by default, sees this as an unknown activity and often blocks it, just to be safe. It's basically doing its job, you know?

This blocking happens because the firewall doesn't know if this connection is legitimate or if it's something harmful trying to get in or out. It's designed to be cautious. So, when your SSH client tries to talk to your Pi, the firewall might put up a wall, preventing the data from flowing freely. This is a good thing for general safety, but for something you *want* to do, it means you need to give the firewall specific instructions. It's a security measure that needs a little adjustment to allow your intended use.

The standard port for SSH is number 22. So, when your SSH client tries to use port 22, the firewall might say, "Hold on, I don't recognize this traffic." We need to tell it, "It's okay, this is a connection I want to make, and it's safe." This is why we have to go into the firewall settings and create a rule that allows SSH traffic to pass through. It's a bit like giving your security guard a special pass for your friend to come in, so it's a necessary step.

Adjusting Windows Firewall Rules for how to use ssh raspberry pi through firewall windows

To get your Windows computer to allow SSH connections, you'll need to make a change in the Windows Defender Firewall settings. This isn't too hard, but it requires a few steps to make sure everything is set up correctly. We're going to create a new rule that specifically permits SSH traffic, which is usually on port 22. This is where we tell our "security guard" that SSH is an allowed activity, so it's a rather important part of the process.

First, you'll need to open the Windows Defender Firewall with Advanced Security. The easiest way to find this is to type "Windows Defender Firewall" into your Windows search bar, then click on the option that says "Windows Defender Firewall with Advanced Security." This will bring up a more detailed window where you can make specific changes to how your firewall behaves. This is where you can apply fine-tuned controls to its operation.

Once that window is open, look on the left-hand side for "Inbound Rules" and click on it. Inbound rules control traffic coming *into* your computer. Then, on the right-hand side, click on "New Rule..." This will start a wizard that walks you through creating a new rule. This is where you'll tell Windows exactly what kind of connection you want to permit, so it's a pretty clear path to follow.

In the New Inbound Rule Wizard, you'll be asked what type of rule you want to create. Choose "Port" and then click "Next." This tells the firewall that you're interested in controlling traffic based on the port number. After that, you'll select "TCP" for the protocol and enter "22" in the "Specific local ports" box. Port 22 is the standard port that SSH uses, so this is crucial. This step is about defining the specific kind of service you want to put into action.

Click "Next" again, and you'll be asked what action should be taken when this kind of traffic is detected. Choose "Allow the connection." This is the whole point of this exercise, to make sure the connection isn't blocked. After that, you'll choose when this rule applies – usually, you'll want to check "Domain," "Private," and "Public" to make sure it works in all network situations, but for a home setup, "Private" is often enough, actually. This step is about giving the firewall permission to employ this connection type.

Finally, you'll give your new rule a name. Something like "SSH Access for Raspberry Pi" is a good choice because it's clear and tells you exactly what the rule is for. You can also add a description if you want, but it's not strictly necessary. Once you click "Finish," your new rule will be active, and your Windows firewall should now permit SSH connections on port 22. This means your Windows computer is now ready to allow the use of SSH, more or less.

If you are using a third-party firewall program, like one that comes with certain antivirus software, the steps will be a little different. You'll need to open that program's settings and look for options to add an "exception" or "allow rule" for a specific port or application. The idea is the same, though: you're telling that firewall to let port 22 traffic through. It's about finding the right place in that particular program to apply the rule, basically.

Router Settings- Port Forwarding for how to use ssh raspberry pi through firewall windows

While the Windows firewall lets traffic *into* your computer, if you want to access your Raspberry Pi from *outside* your home network (like from a coffee shop or a friend's house), you'll need to adjust your router settings. Your router is like the main gatekeeper for your entire home network. It needs to know where to send incoming connections that are meant for your Pi. This is where "port forwarding" comes into play, so it's a rather important step for remote access.

Port forwarding tells your router, "Hey, if someone from the internet tries to connect to me on a specific port, send that connection to this particular device on my network." In our case, if someone tries to SSH into your home network from outside, your router needs to know to send that SSH connection (which uses port 22) directly to your Raspberry Pi's IP address. It's a bit like setting up a special delivery instruction for your mail, you know?

To do this, you'll need to log into your router's administration page. You usually do this by typing your router's IP address into a web browser. Common router IP addresses are `192.168.1.1`, `192.168.0.1`, or `192.168.1.254`. If you don't know your router's IP, you can often find it by opening Command Prompt on Windows and typing `ipconfig`, then looking for the "Default Gateway" address. This is how you gain access to the controls to employ this feature.

Once you're logged into your router (you'll need the username and password, which are often on a sticker on the router itself, or are the default ones like `admin/admin` or `admin/password`), look for a section called "Port Forwarding," "NAT," "Virtual Servers," or "Applications and Gaming." The exact name varies a lot between different router brands and models, so you might have to poke around a little bit. This is where you can begin to put the port forwarding into service.

Inside the port forwarding section, you'll create a new rule. You'll typically need to provide a few pieces of information:

  • An "External Port" or "Public Port": This is the port people will use to connect from the internet. For SSH, this is usually 22, but you might want to pick a different, less common number for security reasons (e.g., 2222) if you're going to expose it to the internet. We'll stick with 22 for now for simplicity, but it's something to think about, actually.
  • An "Internal Port" or "Private Port": This is the port on your Raspberry Pi that the connection will be sent to. For SSH, this is always 22.
  • The "Internal IP Address" or "Device IP": This is the IP address of your Raspberry Pi on your home network (the one you found earlier, like `192.168.1.x`).
  • The "Protocol": Choose "TCP" (or sometimes "Both" if TCP and UDP are an option).
You'll also usually give the rule a name, like "Raspberry Pi SSH." This step is about defining the specific pathway for the connection to be used.

After you save the port forwarding rule, your router should now direct any incoming SSH connection requests from the internet to your Raspberry Pi. It's a very important step if you want to access your Pi when you're not at home. Remember that if your home internet IP address changes (which it might if you don't have a static IP from your internet provider), you'll need to know your current external IP to connect. Services like DynDNS or No-IP can help with this by giving you a consistent web address, so it's something to consider for ongoing use, more or less.

Connecting to Your Raspberry Pi with SSH

With your Raspberry Pi ready, your Windows firewall adjusted, and your router set up for port forwarding (if needed), you're now ready to make the actual connection. This is the moment where all that preparation pays off, and you get to put the SSH capabilities into service. It's pretty satisfying, actually, to see it all come together.

If you're using PuTTY, open the program. In the main window, where it says "Host Name (or IP address)," type in your Raspberry Pi's IP address. If you're connecting from outside your home network, you'll use your home's external IP address (or your dynamic DNS hostname if you set one up). Make sure the "Port" is set to 22 and "Connection type" is "SSH." Then, click "Open." This is how you tell PuTTY to apply its connection method.

The very first time you connect, PuTTY will probably show you a security alert about the host key. This is normal. It's asking if you trust this new connection. You should click "Accept" to save the key, so PuTTY remembers this Pi for future connections. After that, a terminal window will pop up, asking for your username. The default username for Raspberry Pi OS is `pi`. Type that and press Enter. Then it will ask for your password. The default password is `raspberry`. Type that (you won't see anything appear as you type, which is normal for security) and press Enter. This is the authentication part of putting the connection into service.

If you're using the built-in SSH client in Windows (via Command Prompt or PowerShell), the command is simpler. You'd type `ssh pi@YOUR_PI_IP_ADDRESS` (replacing `YOUR_PI_IP_ADDRESS` with your Pi's actual IP). For example, `ssh pi@192.168.1.100`. Just like with PuTTY, the first time you connect, it will ask you to confirm the host's authenticity. Type `yes` and press Enter. Then, it will prompt you for your password. This method is a direct way to employ the SSH client.

Once you've entered the correct password, you'll see a command prompt that looks something like `pi@raspberrypi:~ $`. This means you're successfully logged into your Raspberry Pi! You can now type commands just as if you were sitting in front of it with a keyboard and monitor. You can run `ls` to list files, `sudo apt update`, or any other Linux command. You're effectively putting your commands into action on the Pi from a distance, which is pretty neat, actually.

What if Your SSH Connection Isn't Working?

Sometimes, even with all the steps, things don't quite connect. It can be a little frustrating, but there are some common things to check if your SSH connection isn't going through. It's usually one of a few things, so it's almost always fixable. This is about figuring out why your attempt to put the connection into service isn't working.

First, double-check your Raspberry Pi's IP address. Did it change? Sometimes routers assign new IP addresses, especially if the Pi was turned off for a while. You can check it again on the Pi itself with `hostname -I`. Make sure the IP address you're typing into PuTTY or the SSH command is the correct, current one. A wrong address is a very common reason for a failed connection, so it's worth verifying, you know?

Next, confirm that SSH is actually enabled on your Raspberry Pi. Go back to the Raspberry Pi Configuration tool or check for the `ssh` file on the boot partition. If it somehow got turned off, your Pi won't be listening for connections. Your Pi needs to be actively ready to apply the SSH service, basically.

Is your Raspberry Pi powered on and connected to the network? This might sound obvious, but it's easy to overlook. Make sure it's fully booted up and has a good network connection, either wired or Wi-Fi. If it's not on the network, it can't respond to any connection attempts, which is pretty clear.

Check your Windows Firewall settings again. Did you create the inbound rule correctly for port 22? Is it set to "Allow the connection"? Sometimes, a small typo or a missed step in the firewall rule can block everything. If you're using a third-party firewall, make sure it's not interfering. This is where you verify that your Windows machine is ready to permit the use of SSH.

If you're trying to connect from outside your home network, the router's port forwarding is a likely culprit. Double-check that the external port, internal port, and your Pi's internal IP address are all correct in your router's settings. Also, make sure your internet service provider isn't blocking port 22. Some providers do this for

Use vs. Utilize – What's the Difference? Grammar & Punctuation Rules
Use vs. Utilize – What's the Difference? Grammar & Punctuation Rules
Usage vs. Use—Learn the Difference
Usage vs. Use—Learn the Difference
Used Definition & Meaning | YourDictionary
Used Definition & Meaning | YourDictionary

Detail Author:

  • Name : Malvina Reynolds
  • Username : ismael40
  • Email : jena74@gmail.com
  • Birthdate : 1998-04-20
  • Address : 322 Nader Wells North Caitlyn, IL 21291
  • Phone : +1-231-266-7791
  • Company : Mertz PLC
  • Job : Chemical Plant Operator
  • Bio : Placeat eveniet eaque aut commodi et magni dolor. Eius esse quasi provident id sed. Dicta suscipit dolor officia.

Socials

facebook:

  • url : https://facebook.com/ava1029
  • username : ava1029
  • bio : Temporibus animi quod aut quis. Autem rerum quo qui.
  • followers : 3978
  • following : 159

twitter:

  • url : https://twitter.com/manna
  • username : manna
  • bio : Eligendi id sit sunt iusto. Enim ratione fugiat atque in omnis omnis qui. Non fugiat consequuntur temporibus et provident eaque.
  • followers : 3292
  • following : 2430

linkedin:

Share with friends