This article describes how to create an EVE-OS image with SSH enabled, which will enable you to connect to an edge node via SSH before onboarding it to your enterprise.
Prerequisites
Docker must be running on your machine.
Considerations
After you onboard your edge node, the SSH key will be erased, and you will need to re-enable SSH access through the ZCLI.
Part 1: get your SSH key
You'll need an SSH key for the next procedure. To get one, follow these steps.
-
Check if you have an SSH key.
cat ~/.ssh/id_rsa.pub
-
Contingent: If the output of the previous command is blank, create a new SSH key.
ssh-keygen -b 2048 -t rsa
- Copy your SSH key.
Part 2: add the custom configuration
-
Create a new directory for your custom configuration.
mkdir /tmp/config
-
Add the SSH Public key to a file named "authorized_keys".
PUBLIC_KEY_PATH
is typically~/.ssh/id_rsa.pub
cat PUBLIC_KEY_PATH > /tmp/config/authorized_keys
-
Insert the ZEDEDA GUI FQDN into a file name "server". (In this example, the FDQN is
zedcloud.zededa.net
)cat <<EOF > /tmp/config/server
zedcloud.zededa.net
EOF - Add the configuration to a file named "global.json".
cat <<EOF > /tmp/config/global.json
{
"GlobalSettings": {
"debug.enable.ssh": {
"Key": "debug.enable.ssh",
"ItemType": 3,
"StrValue": "true"
}
}
}
EOF
Part 3: get the custom image installer
-
Pull and generate the image installer for your preferred EVE-OS version. The following example will get you an installer for the latest EVE-OS version.
docker run -v /tmp/config:/in lfedge/eve:latest -f raw installer_raw > installer-ssh.raw
- Refer to Flash your EVE-OS image for guidance on installing EVE-OS onto your USB device.
Connect to your edge node via SSH
The value of YOUR_PRIVATE_KEY_PATH
in the following command is typically ~/.ssh/id_rsa
ssh -i YOUR_PRIVATE_KEY_PATH root@DEVICE_IP