Alejandro Muñoz Fernández

Quick guide to setting up an Armbian server

A quick reference I use to install and set up a headless Armbian server.
Originally written for a Cubox-i4pro, but it works for most modern SBCs (Orange Pi, Banana Pi, Odroid, etc.).

Note

Some paths or tools may vary slightly depending on whether you’re using a Debian- or Ubuntu-based image, or on the Armbian version.

1. Install to the MicroSD

1.1. Download and prepare the image

Download the image for your device:

$ wget -c https://dl.armbian.com/your-device/Buster_current

Extract it:

$ unp Buster_current

(If it’s .xz and you don’t have unp, use unxz file.xz).

1.2. Flash the MicroSD

Make sure you’re using the correct device (/dev/sdX):

% sudo dd if=Armbian_20.02.7.img of=/dev/sdX bs=1M status=progress sync

1.3. First boot

2. First login

Connect via SSH:

$ ssh root@192.168.1.X

Default password:

1234

On first login, Armbian will force you to:

Then:

$ apt update && apt upgrade -y && reboot

3. Change hostname

$ sudo hostnamectl set-hostname new-name

Edit /etc/hosts:

$ sudo nano /etc/hosts

Example:

127.0.0.1   localhost new-name
::1         localhost new-name ip6-localhost ip6-loopback

4. Harden SSH

4.1. Key-based login

On your local machine:

$ ssh-keygen
$ ssh-copy-id user@192.168.1.X

4.2. Secure config

On the server:

$ sudo nano /etc/ssh/sshd_config

Basic setup:

IgnoreRhosts yes
PasswordAuthentication no
PermitEmptyPasswords no
PermitRootLogin no
MaxAuthTries 3
PubkeyAuthentication yes
X11Forwarding no
ClientAliveInterval 300
ClientAliveCountMax 2
Port 3343
AllowUsers user

Restart SSH:

$ sudo systemctl restart ssh

5. Network setup (static IP)

Tip

There are several ways to do this. Recommended: assign a static lease in your router (DHCP reservation).

If you prefer configuring it on the board:

$ sudo nmtui

5.2. Method 2: armbian-config

$ sudo armbian-config
$ sudo systemctl disable NetworkManager
$ sudo systemctl stop NetworkManager
$ sudo nano /etc/network/interfaces

Example:

auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1

Reboot:

$ sudo reboot

Nothing fancy — just the baseline setup I tend to use to get an SBC ready as a server.