home..

Hardware

academy hardware

Prepare your own device

In this step we are going to acquire and prepare a device that we later want to run our Lightning Network node on.

Great sample devices:

For the installation process we will need a screen and keyboard. Once we have set up our device, these can be disconnected. A screen and keyboard are not required for raspberry pis or devices specifically intended to be run as servers.

System requirements

We are very flexible as to our requirements. More RAM will will let you handle more channels, more CPU power will let you sync the blockchain faster. We will need about 20GB of space for the Bitcoin blockchain alone, plus about 20GB of storage for the operating system, Lightning and eventual side applications and tools.

Most importantly: We will need to be able to access the BIOS of the machine to install Linux on it. While it is possible to run a Lightning Node on Windows, Mac OS or OpenBSD, this should only be done by enthusiasts of these operating system. When buying a used device, make sure you can access the BIOS before concluding the purchase! Some devices may have their BIOS locked with a password or otherwise inaccessible.

Absolute minimum requirements:

Suggested requirements:

Operating system

We recommend running your node on a Linux-based operating system.

Great choices for operating systems are Ubuntu and Debian, as most packages we are going to make use of are readily available on these systems. On a Raspberry Pi you may use Raspbian or Ubuntu.

To install Ubuntu, we will first need to make a live USB.

You may follow this detailed guide for instructions if using Windows

You may follow this detailed guide for instructions if using Mac OS

Requirements:

Installation:

Relevant detailled Ubuntu guide

To install Ubuntu on your spare machine, you will need to access the BIOS. This is typically done by pressing a specific button, such as the Enter button, F1 or F12 at startup. The startup screen should be able to give you a hint as to which button to press. Searching for “Access BIOS” together with your make and model number will also typically yield helpful results. ChatGPT can help here, too.

Next, we will plug in the live USB we created in the previous step and instruct the BIOS to boot from it. Often this is called “temporary boot partition.” We should now be able to confirm our selection, which should let us leave BIOS and boot into Ubuntu.

Finally, we are going to follow the instructions on screen. These include setting our time zone, a name for our device and user, as well as a password. We recommend to install the operating system on the entire partition. This will wipe everything on the hard disk, so be prepared. We do not recommend running Ubuntu alongside Windows for the purpose of a Lightning Network node.

As part of the installation process, we can also already connect the computer to the internet and apply all recent updates.

SSH access

In this step, we are going to get ready to access our device from our personal computer via SSH. To do that, we are going to first create an SSH key. We recommend you creating a new SSH key, in case you will later need to revoke it or exchange it.

Create an SSH key on your personal machine

In Mac OS X, Windows or Linux we are going to open a terminal for the first time and execute the following.

ssh-keygen

We are typically asked for a name for this key, for example nodekey_rsa. You may optionally choose a passphrase for this key, meaning you will have to enter this passphrase everytime you log into your machine. Your public key will be called newkey_rsa.pub and it will be saved in the following location:

Windows: C:\Documents and Settings\userName\Application Data\SSH\UserKeys\newkey_rsa.pub Linux: ~/.ssh/newkey_rsa.pub Mac OS: /Users/MYUSERNAME/.ssh/newkey_rsa.pub

Save this file on a USB stick, we are going to carry it over to our node later.

Configure SSH access on your Ubuntu machine

First we will need to make sure the SSH server is installed. On our node, we are going to open a terminal and type:

sudo apt update
sudo apt install openssh-server

Next, we will need need to authorize our new SSH key to access the node. We can do this with the command line, or in the graphical user interface.

Command line:

Open a terminal and edit the authorized_keys file. If the file is not there, this command will also create it.

nano ~/.ssh/authorized_keys

We will paste our SSH key from the step above into this file into line one. It will look like this

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQD5GTA4m8[...]M810pRF88pgY255H/KUmL77PHiMTom+1n2Levmi6M0= user@device

We will save this file by pressing Ctrl + O and Enter and exit the application with Ctrl + X.

Graphical interface:

Open the files explorer (called Nautilus or Files), typically found on the top left of the screen, or by searching for Files.

By default you should be in your Home folder. To display hidden folders, press Ctrl + H on your keyboard, you should see a folder named .ssh.

Now we plug our USB with the ssh into our node, rename the public key newkey_rsa.pub to authorized_keys (without a dot or file extension in the end), and place it into the .ssh folder.

Obtain your node’s IP address

To obtain our node’s IP address, we can click in the top right corner, then the network we are connected to, then Settings and finally we should see an overview of our connection, including our node’s IPv4 address. It may look like this: 192.168.1.110. We will remember it.

If you prefer to use the command line you can run hostname -I to list your IPv4 address.

Connect from your personal computer

On your personal computer, open a terminal window and connect via the following command:

ssh <username>@<ip address>

More specifically, this may look like this:

ssh ubuntu@192.168.1.110

If you are running into errors, you may have to specify the location and name of the SSH key you want to use:

ssh -i ~/.ssh/id_rsa <username>@<ip address>

For instance, if you did not name your key id_rsa, substitute its name in the command above. If the key is located elsewhere, specify it’s path as shown above.

As this is your first time connecting to the node, you will see a warning “the authenticity of the host can not be established” together with the SSH fingerprint of your node. You can type yes to add this fingerprint to your configuration, and you will only receive a warning in the future if the fingerprint does not match.

Once you see the notice: Welcome to Ubuntu 22.02.2 LTS we have successfully installed Ubuntu and configured SSH. Congratulations!

SSH Troubleshooting

© 2024 Vancouver Bitcoiners   •  Powered by Bitdevs Vancouver   •   Theme  Moonwalk