SSH Setup for HDK

Most Sol3 SDK workflows require passwordless SSH access to the HDK. This guide covers network configuration, SSH key generation, and verification.

Network Connection

The HDK is configured for DHCP by default. Connect it to a network with a DHCP server and discover its IP address using adb.

Important

The kernel currently randomizes the mac address of the network interface on each boot, so as a consequence the HDK will be assigned a new IP address each time it powers on.

The HDK is also configured with a static IP address (10.32.0.10) on the same interface. If you’d prefer to connect to this IP address, configure your host’s interface with an IP address on the same subnet (10.32.0.0/24). If you’d would like to customize the HDK network configuration, edit the file /etc/systemd/network/phy0.network and refer to this documentation.

Connect HDK to Network

  1. Connect an Ethernet cable from your router to the HDK’s Ethernet port

  2. Connect the HDK to your development machine via USB

Discover HDK IP Address

Use the Android Debug Bridge tool to find the HDK’s assigned IP address:

adb shell ip addr show phy0

Look for the inet addresses in the output. For example:

8: phy0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether de:55:d0:68:16:1f brd ff:ff:ff:ff:ff:ff
    inet 10.32.0.10/24 brd 10.32.0.255 scope global phy0
       valid_lft forever preferred_lft forever
    inet 192.168.0.57/24 brd 192.168.0.255 scope global dynamic phy0
       valid_lft 2373sec preferred_lft 2373sec
    inet6 fe80::dc55:d0ff:fe68:161f/64 scope link
       valid_lft forever preferred_lft forever

In this example, the HDK’s has two IP addresses: the static 10.32.0.10 address, and 192.168.0.57 acquired from DHCP. Note these address for SSH configuration, you can use either to connect to your HDK.

Verify connectivity from your development machine:

# Replace <HDK_IP> with your HDK's IP address (e.g., 10.32.0.10)
ping <HDK_IP>

SSH Key Setup

The default dev password for the Sol3 units is H3t11dC9ekWzc1kl. Use this to ssh into the device before proceeding.

Generate an SSH key if you don’t already have one:

# Generate SSH key (press Enter to accept defaults)
ssh-keygen -t ed25519 -C "sol3-dev"

Copy your public key to the HDK (replace <HDK_IP> with the IP address you discovered):

# Replace <HDK_IP> with your HDK's IP address (e.g., 10.32.0.10)
ssh-copy-id dev@<HDK_IP>

Configure SSH Config

Add the HDK to your SSH config for convenient access. Replace <HDK_IP> with your HDK’s IP address:

cat >> ~/.ssh/config << 'EOF'

# Sol3 HDK
Host sol3-hdk
    HostName <HDK_IP>
    User dev
    IdentityFile ~/.ssh/id_ed25519
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null
EOF

This allows you to connect using the alias sol3-hdk instead of typing the full IP address.

Verify SSH Access

Test passwordless SSH access:

ssh sol3-hdk