The Raspberry Pi is a single board computer (SBC) and is capable of running a desktop capable operating system so we can use it as we would on other desktop machines. But for me, a Raspberry Pi will likely to be used as a gateway or home automation agent. So it will probably be tucked away somewhere and accessed through using SSH.
The Raspberry Pi by default will not have the SSH server enabled so the first thing to do is enable that. It is as easy as ticking a checkbox.
Enabling SSH via desktop UI
By default the hostname is raspberrypi and the user is pi
Now let’s head over another machine and check that we can connect to it. Usually the first thing I do is quickly ping it just to make sure it’s there by executing the command “ping raspberrypi.local” where raspberrypi is the host name and local is the top level domain, in this case is the local network.
Next let’s check that we can
ssh into the Raspberry Pi.
In the example above, we need to enter our password everytime we log into the Raspberry Pi. To log without needing to enter our password we can copy the
public ssh key of the machine we will be connecting from to the Raspberry Pi (assuming we have generated a private/public ssh key pair). This basically tell the Raspberry Pi to use this public key (lock) for authentication and the machine we are connecting from will have the private key (key) to complete the authentication process.
Copy public ssh key to Raspberry Pi
On the machine where we will be connecting from, add the following text to a file call “config” and save it under the “.ssh” folder. All we are saying here is when ssh into this host, use this key.
Host raspberrypi.local User pi IdentityFile ~/.ssh/id_rsa
That’s it. Now if we try to ssh into the Raspberry Pi again, we will see that we won’t need to provide a password.
Authenticating via ssh key
Remote - SSH VS Code extension
Installing Remote ssh extension
Making a ssh connection with a remote machine is quite straight forward using the above extension. If we need more info, check out it’s documentation at VS Code marketplace.
Once we are connected, we can start coding just like we would on a local machine.