Headless Raspberry Pi Setup SSH

Download Raspbian Image the Lite version will do or you can get Raspbian with desktop if you like even the desktop and recommended software Raspbian is ok what ever you want. Depending on what operating system you are running to put Raspbian image on your microSD card follow this link to do so because I’m not going to explain how to do it three different times especially when I only run Linux. After you have successfully written the image to your microSD card.  Add a file called SSH in the boot partition of the MicroSD card it will look like so you may have to unplug and plug in your microSD card from your computer after writing the image to the MicroSD card. One more file to create add a file called wpa_supplicant.conf in the boot partition of the MicroSD card paste the following into it adjusting for the name of your country code, network name (SSID) and network password (Wifi Password)

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev


Jump to you login to your router look for connected devices to find the IP address of your Raspberry Pi by default the device name of your Raspberry Pi is believe It or not it is raspberrypi. 🙂

Once you found your IP address let’s say it is 192. 168. 1. 10 You can either use PuTTY or your terminal if you’re in Linux and CMD in Windows by Typing $ ssh pi@your-IP-address Example $ssh pi@

Tips for SSH

The default username is (pi) and login is (raspberry) You probably want to change the default password for your Raspberry Pi That command is $passwd You can find all the Information to do this in great detail on the Raspberry Pi website.

Once you’re in SSH you’re in Linux world to exit SSH type $exit

I recommend configuring your Raspberry Pi with the command $sudo raspi-config

Last but not least that I think is very important is keeping your pi up-to-date with the commands $sudo apt-get update$sudo apt-get upgrade

Optional I do this after rebooting to make sure everything’s working I clean up unnecessary files that are not used no more with the command $sudo apt-get clean

Thank you for checking out my tutorial I hope you enjoyed it.


The new beta PIA app is very impressive (Linux)

If you have Private Internet Access VPN I recommend trying the beta app. Not only is it beautiful but it is completely open-source now. Prior to using the beta application I would have to do a couple extra steps on the stable application to work proper in KDE Neon. It wasn’t a big deal it was more cosmetic than anything but still drove me nuts this was the Issue and fix. I hope they continue to use the same look on the new beta app and don’t change it that much it looks perfect the way it is. The little logo of the man to show that you were connected or not connected has changed for the better in my opinion.


Here’s something interesting VPN Killswitch has a new feature called Auto from what I’m understanding if you lose connection with your VPN on Auto you will not leak out. If you have the kill switch set to off if you lose your VPN connection it will route back to your normal IP address. Always on setting network will only work if the VPN is on. If the vpn is no on or running you will not get outside traffic at all. A cool new feature if you have lan (local area network) set up in the app you can browse your local network with always on kill switch but then again that is not going out to wan (wide area network) so your good to go.

If you are running the stable version of the VPN app v82 and would like to try the beta here’s the instructions to remove the stable version and install the beta. Thank you PIAThomas on Reddit for the instructions.

Uninstall v82 before installing the beta. Open up a terminal and you’re going to remove some files with the some commands. First off turn off the private internet application by right-clicking the icon and hitting the quit button. It is best to just copy and paste the commands below

  1. rm -rf ~/.config/PrivateInternetAccess
  2. rm ~/.local/share/applications/pia_manager.desktop
  3. sudo rm -rf /opt/pia
  4. rm -rf ~/.pia_manager/

If all works its time to install the new beta https://www.privateinternetaccess.com/installer/download_installer_linux_beta The instructions are fairly straightforward.



How to fix icons in icon tray for private internet access application.

When you download the application, the images are already in there, but they’re not sized properly and won’t work well with some GUIs.

For me, I would get a green box like so.

  • First off, you will need a program called imagemagick. In an Ubuntu-based Linux, open up your terminal and type in the following command to install imagemagick:

$ sudo apt-get update

$ sudo apt-get install imagemagick

  • Once that is done, keep your terminal open and type in the following command. The proper directory that contains the images:

$ cd /opt/pia/frontend/img

  • You can use this command to make sure you’re in the right spot:

$ ls

  • You need to make a new folder of that directory with the following command (to save the original images this just to be on the safe side if you want to restore the images):

$ sudo mkdir img_bak

  • This command will create a backup of all your images and will put it into the folder we just created (img_bak):

$ sudo cp *png img_bak

  • With the next command, you are going to edit the images (resizing them to properly display in the tray):

$ sudo mogrify -resize 24×24 tray_disconnected.png

$ sudo mogrify -resize 24×24 tray_connecting.png

$ sudo mogrify -resize 24×24 tray_connected.png

  • Now it should display correctly. Here is an image of my terminal (so you can see step-by-step instructions):

In order to display their logo, you need to follow the same steps for KDE neon and Kubuntu. The current Private Internet Access application I did this on was pia-v81.

OpenVPN setup for private internet access (PIA VPN) Raspberry Pi 3 OSMC

Updated July 18 2018

I recently started using OSMC on my Raspberry Pi. I also have an account with private internet access which is, by the way, the best VPN service you can get hands down in my opinion. This tutorial will show you how to setup OpenVPN to connect to private internet access at boot up of your OSMC / Debian-based Linux.

  • Things to do
  1. Enable SSH on OSMC /Debian-based Linux, update, upgrade, install network-manager-openvpn, and install openvpn.

If you do not know what SSH is Google is your friend. Secure Shell. I’m going to leave out some stuff because I assume you already know the basics
and I don’t want to turn this tutorial into a book such as how to find your IP address on your OSMC box how to SSH and etcetera. However, if you have questions leave comments and I would be more than happy to help you there are no dumb questions. A helpful link  Accessing the command line on OSMC,

Okay SSH into your OSMC/Debian-based Linux If this is the first time SSHing into your OSMC I HIGHLY recommend changing the default password of the OSMC. The default Login and Password is osmc. To do so Type in your SSH Client:

passwd osmc

  • now we start It’s always a good idea to have your OSMC up-to-date and we are going to install OpenVPN:

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install network-manager-openvpn NetworkManager conflicts with ConnMan which is the network manager that comes with osmc.
sudo apt-get install openvpn (Note there shouldn’t be any need to install openvpn anymore, should be there by default.)

  • I did all the work inside /etc/openvpn You don’t have to but this is how the tutorial is written:

cd /etc/openvpn

  • Download private internet access VPN zip and unzip:

sudo wget https://www.privateinternetaccess.com/openvpn/openvpn.zip

sudo unzip openvpn.zip

  • Now try and connect to the VPN of your choice ending in ovpn. For me, I’m going to be using Sweden.ovpn (note If you choose one of the files that has spaces in it like example UK London.ovpn rename it to Something that has no spaces in it for example UK London.ovpn to UK_London.ovpn. To do that #sudo mv UK\ London.ovpn /etc/openvpn/UK_London.ovpn):

sudo openvpn ./Sweden.ovpn

  • It’ll ask you for your username and password. Enter these and hopefully, you get ‘Initialization Sequence Completed’. you need to press CTRL -c to cancel the sequence and take control again. After this, you need to change the config to keep your User and Password in it:

sudo nano /etc/openvpn/login.conf

Add 2 lines for login and password line one is going to be your private internet access login and line two is going to be your password. To save and exit Nano press CTRL -x it will ask you to save it type Y


  • Set the proper permissions for the conf file:

sudo chmod 400 /etc/openvpn/login.conf

  • Create a new config file with the Sweden information from the Sweden.ovpn And we’re going to name the new config file  pia_sweden.conf:

sudo cp Sweden.ovpn /etc/openvpn/pia_sweden.conf

  • By adding the new line OpenVPN automatically knows where to grab the password:

sudo nano /etc/openvpn/pia_sweden.conf

  • At the line auth-user-pass add login.conf so it looks exactly like auth-user-pass login.conf

  • Now let’s see if all our work paid off. Your username and password are automatically accepted:

sudo openvpn pia_sweden.conf

  • You should get the ‘Initialization Sequence Completed’ again and no interaction. press CTRL -c to stop it.
  • To make it work on start up we need to change the startup file for openvpn. and add a line to it AUTOSTART=pia_sweden:

sudo nano /etc/default/openvpn

  • Now reboot your OSMC:

sudo reboot

  • Then to make sure it’s working and to find your external IP. log back in via SSH:

wget http://ipecho.net/plain -O – -q ; echo

  • or

curl ipinfo.io/ip

  • Now it automatically connects to your VPN on boot up of your system. I hope you find this tutorial helpful


  • I would like to thank Tom Doyle for getting me up to speed on some of the changes so there won’t be conflicting issues shutting up your VPN. He also gave us a solution for DNS leaks thank you, Tom for the help!


  • preventing dns-leaks, this can be done as follows:

sudo apt-get install openresolv

  • Add the following to the bottom of pia_sweden.conf:

script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf