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
- Insert the card
- Plug in Ethernet
- Power it on
- Wait a couple of minutes
2. First login
Connect via SSH:
ssh root@192.168.1.X
Default password:
1234
On first login, Armbian will force you to:
- Change root password
- Create a regular user (sudo)
- Set timezone
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)
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:
5.1. Method 1: nmtui (recommended)
sudo nmtui
- Edit connection
- Set IPv4 to manual
- Enter IP, gateway and DNS
5.2. Method 2: armbian-config
sudo armbian-config
- Network → IP
- System → Avahi (optional)
5.3. Method 3: legacy method (not recommended today)
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.