Install Linux (ubuntu: ethonaram) - Ajay1559/rocketpool-on-arm GitHub Wiki
Quick Start: Follow the steps here
- Get your hardware (Pi 4 8GB/16GB, MicroSD, 2TB USB 3.0 SSD, etc.)
- Download and flash the image into a MicroSD card
- Connect the SSD and the Ethernet cable & power on the device
- Let it run for at least 15 minutes to an hour
- Run updates:
sudo apt update && sudo apt list --upgradablesudo apt upgrade -y
- Update hostname:
hostnamectl set-hostname [new_hostname]orsudo vi /etc/hostname - Update timezone:
timedatectl set-timezone [Region/City]orsudo rm -rf /etc/localtime && sudo ln -s /usr/share/zoneinfo/[target_timezone] /etc/localtime
- Run updates:
SSH setup
Generate keys
- Generate an Ed25519 SSH key:
ssh-keygen -t ed25519 -C "[your_email_here]"ssh-copy-id -i $HOME/.ssh/id_ed25519.pub [email protected]- OR add/create file
/home/ethereum/.ssh/authorized_keys
- OR add/create file
sudo vi /etc/ssh/sshd_configPort [random_port_#]PasswordAuthentication noPermitRootLogin noKbdInteractiveAuthentication no(replaces deprecatedChallengeResponseAuthentication)
SSH Config file
- HowTo use ssh config file
touch ~/.ssh/configchmod 600 ~/.ssh/config
~/.ssh/config:
Host [target_name]
HostName 192.168.x.x
Host *
User [username]
Port [random_port_#]
IdentityFile ~/.ssh/id_ed25519
SSH Tunnels with systemd
- HowTo use ssh tunnels
- HowTo ssh tunnel as systemd service
- Check open ports:
ss -ltnp
/etc/systemd/system/[email protected]:
[Unit]
Description=Setup a local tunnel to %I
After=network-online.target
[Service]
EnvironmentFile=/etc/default/secure-tunnel@%i
ExecStart=/usr/bin/ssh -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -nNT -L ${LOCAL_PORT}:localhost:${REMOTE_PORT} ${TARGET}
Restart=always
RestartSec=10
User=ethereum
[Install]
WantedBy=multi-user.target
/etc/default/secure-tunnel@{target_name}:
TARGET=[target_name]
LOCAL_PORT=[port]
REMOTE_PORT=[port]
Default service ports for reference:
- lighthouse -> geth:
8551 - validator -> geth:
8545 - validator -> lighthouse:
5052 - beacon -> mev-boost:
18550
Monitoring via SSH tunnel
To access Prometheus/Grafana running on the node from another machine without opening firewall ports, use an SSH tunnel:
ssh -N \
-L 9100:localhost:9100 \
-L 6060:localhost:6060 \
-L 5054:localhost:5054 \
-L 5064:localhost:5064 \
[email protected]
Or use autossh for a persistent tunnel — see the Install Geth & Lighthouse services page for details.