SSH Access and systemd Services

Introduction

The EDF reference images include the OpenSSH server and run under systemd. A board on the network accepts the standard SSH (ssh) client, and systemctl reports the active service set on the target. This page describes how to do both.

The list of enabled units changes between Yocto-based releases. Rather than reproducing it here, this page points at the commands users run on the target to get an up-to-date view.

SSH Access

Every EDF image preinstalls the OpenSSH server, and systemd socket activation manages it. The sshd.socket unit listens on TCP port 22 from boot, and systemd starts a per-connection sshd@<n>-<addr>:<port>-... service the first time a client connects. There is no manual systemctl start step.

First, set a password for the default amd-edf user from the UART console. SSH password logins are rejected until the account has a password. The first-login walkthrough on the discovery page has board-specific instructions:

See the Versal first-login prompt on the discovery page for the VEK280, VCK190, VPK120, VPK180, VMK180, and VEK385 boards.

See the ZynqMP first-login prompt on the discovery page for the ZCU102, ZCU104, and ZCU106 boards.

Next, find the board’s IP address on the target. For a wired link this is typically:

amd-edf:~$ ip addr show

For a Wi-Fi link, follow EDF Wi-Fi Setup to bring up the wireless interface. The same page shows networkctl status wlan0 for inspecting the resulting connection.

Then, from the host, log in over SSH:

$ ssh amd-edf@<board-ip>

On the first connection the client prompts to accept the board’s host key. Subsequent logins reuse the cached key.

Inspecting Enabled Services

Run systemctl and journalctl on the target to inspect the active service set. The exact unit set depends on the EDF image and changes between releases. Use these commands as the source of truth, not any list reproduced in this guide.

  • List currently loaded service units and their high-level state:

    amd-edf:~$ systemctl list-units --type=service
    
  • List every installed service unit and which ones start automatically at boot, including units that are not currently active:

    amd-edf:~$ systemctl list-unit-files --type=service
    
  • Show detailed status, the unit file location, and the most recent log lines for a single service:

    amd-edf:~$ systemctl status <unit>.service
    
  • Follow or page through the journal for a single service:

    amd-edf:~$ journalctl -u <unit>.service
    

The same commands work for socket and target units by passing --type=socket or --type=target. See systemctl(1) and systemd.unit(5) on the target for the full command set.