NEPI Engine – Accessing the NEPI File System
Introduction
This tutorial will walk you through connecting to a NEPI device’s File System through an SSH connected terminal from a PC.
What you will need
1) 1x NEPI-enabled device with internet access. This tutorial uses an edge-compute processor box that includes an NVIDIA Jetson Xavier NX embedded GPU with NEPI Engine software installed.
NOTE: See available off-the-shelf NEPI enabled edge-compute options at: https://numurus.com/products-nepi-enabled-hardware/
2) 1x PC with internet access and configured to access the NEPI device’s RUI browser-based interface. This tutorial uses a Windows 11 PC and a USB GigE Ethernet adapter and Ethernet cable.
NOTE: Instructions for configuration a PC and connecting to a NEPI device are provided in the NEPI Engine Getting Started tutorial at: https://nepi.com/nepi-tutorials/nepi-engine-connecting-and-setup/
Hardware Setup
1) Connect the NEPI device to your PC’s Ethernet adapter using an Ethernet cable, then power your NEPI device.
Accessing the NEPI File System
Download the NEPI default SSH Key
1) Download the default NEPI private SSH key “nepi_engine_default_private_ssh_key” from: https://www.dropbox.com/scl/fo/pjtoga7vi6za4yu3ymv5x/h?rlkey=i7riagxjo9eujkud4h6v912s8&dl=0
The NEPI default SSH account credentials are:
– username: nepi
– password (for sudo): nepi
Setting up and using your NEPI SSH Key
SSH password login is disabled for NEPI devices, so you’ll need to install the NEPI device’s private SSH key and configure your PC following the instructions in this section.
For Linux and Mac PCs
Both Linux and Mac PC operating systems support direct SSH connections from system terminals. Follow the instructions below to SSH into your NEPI system from either of these platforms.
- Create a new folder on your PC to store the NEPI ssh key you downloaded and copy the ssh key into that folder (the remaining instructions assume “~/ssh_keys”), then copy the downloaded key to that new folder.
2) open terminal in the folder you copied the key to, directory and change permissions for the key
sudo chmod 600 nepi_engine_default_private_ssh_key
3) in the same terminal, start an SSH session to your NEPI device by entering the text below:
ssh -o StrictHostKeyChecking=no -i ~/ssh_keys/nepi_engine_default_private_ssh_key nepi@192.168.179.103
You can add useful aliases to your system that make connecting faster and easier with the following instructions:
4) Add the following line to your PC’s “hosts” file by opening a terminal on your PC and typing:
sudo nano /etc/hosts
a) Add the following line to your file, replacing the items in yellow with your actual system values:
<IP Address of your NEPI-enabled device> <Name of your NEPI device>
b) The factory IP address for NEPI devices is “192.168.179.103”
192.168.179.103 nepi-s2x
c) You can check the name of your NEPI device by opening an SSH connected terminal and copying the device name shown after the “nepi@” at the command line.
d) Press “Ctrl-x”, then “Y”, then “enter” to save and exit.
5) Open your terminal shell startup file
For Linux: sudo nano ~/.bashrc
For Mac: nano ~/.zshrc
a) Then add the following lines to the file, replacing the text in yellow below with the location of your ssh_keys folder. You can find the full path of your ssh_keys folder by navigating to the folder in your file manager application (Finder for Mac), right click on the folder and select the Open in Terminal option (New Terminal at Folder option for Mac), then typing pwd at the command prompt as shown below.
export NEPI_SSH_KEY_PATH=<your ssh key folder path>/nepi_engine_default_private_ssh_key
alias sshn="ssh -o StrictHostKeyChecking=no -i $NEPI_SSH_KEY_PATH nepi@nepi-s2x"
alias scpn="scp -o StrictHostKeyChecking=no -i $NEPI_SSH_KEY_PATH nepi@nepi-s2x"
alias sftpn="sftp -o StrictHostKeyChecking=no -i $NEPI_SSH_KEY_PATH nepi@nepi-s2x"
6) Open a new terminal and type one of the following aliases to test each alias:
sshn
scpn
sftpn
For Windows PCs
If you need to access NEPI file system on Windows, you will first need to install a remote terminal application like Putty and make a Putty compatible ssk key from the provided “nepi_engine_default_private_ssh_key” private key file. Instructions for installing Putty creating Putty compatible keys is detailed below.
NOTE: There are many alternative SSH-capable terminal emulators on Windows that do not require the key-translation step. These include git-bash, cygwin, wsl2, and many terminal emulators included in software IDEs.
1) Create a new folder on your PC to store the NEPI ssh key you downloaded and copy the ssh key into that folder (the remaining instructions assume “C:\ssh_keys”), then copy the downloaded key to that new folder.
2) Download Putty from: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html and install the software using the default install instructions.
3) From your Windows Start menu next to the Search box, select the PuTTygen applications, which you will use to convert the NEPI key you downloaded to a Putty compatible key.
4) From the PuTTYgen application window, click the “Load” button.
From the open popup window, do the following:
a) Navigate to your new ssh_keys folder.
b) Select the “All Files (*.*) option in the drop-down menu just above the “Open” button.
c) Select the “nepi_engine_default_private_ssh_key” in the file list and hit the “Open” button.
d) Click the “OK” button
e) Next, select the “Save private key” button, and click “Yes” in the popup window.
f) From the save popup window, enter the following file name to save your new Putty compatible ssh key as “nepi_engine_default_private_ssh_key.ppk”, and click the “Save” button, and hit “Yes” in the popup window.
You can now close the PuTTYgen applications now.
5) Open the Putty application from your Window’s Start menu.
a) Enter the IP address of your NEPI device in the “HostName” entry box. NEPI default IP address is “192.168.179.103”.
b) From the left menu list, expand the “SSH” then “Auth” menu items and click on the “Credentials” option, Then click the “Browse” button and select the newly saved key from your ssh_keys folder.
c) Click the “Session” option at the top of the left menu list, enter the name “NEPI” into the Saved Sessions entry box, and click the “Save” button to save your NEPI putty configuration. Click the “Open” button at the bottom of the application to open an SSH connected terminal to your NEPI device. The default NEPI password is “nepi.”
You now have an SSH connected terminal to your NEPI file system.
NOTE: Instructions for navigation and customizing a NEPI device’s File System are provided in the NEPI Engine – Solution Development – Customizing the NEPI File System tutorial at: https://nepi.com/nepi-tutorials/
Navigating the File System
The majority of the NEPI file system files you would want to work with are located in a few key folders on the NEPI device.
NEPI File System Locations
NEPI Folder | Description |
/mnt/nepi_storage | The NEPI network shared user storage drive containing folders for AI models, automation scripts, logged data, user config files, NEPI image install and archiving to name a few. |
/opt/nepi | The main NEPI software package installation folder containing the NEPI ROS environment, NEPI Resident User Interface (RUI) files, and NEPI Link remote server communication subsystem used for the NEPI Connect application. |
For NEPI pre-built images, the following aliases are pre-setup on the systems and provide quick navigation within your NEPI File System environment.
rosstop=”sudo systemctl stop roslaunch”
rosstart=”sudo /opt/nepi/ros/etc/roslaunch.sh”
auto=”cd /mnt/nepi_storage/automation_scripts/”
data=”cd /mnt/nepi_storage/data/”
ai=”cd /mnt/nepi_storage/ai_models/”
installs=”cd /mnt/nepi_storage/installs/”
src=”cd /mnt/nepi_storage/nepi_src/”
nfi=”cd /mnt/nepi_storage/nepi_full_img/”
nfia=”cd /mnt/nepi_storage/nepi_full_img_archive/”
nuid=”cd /opt/nepi/nepi_link/nepi-bot/devinfo/”
connect=”cd /opt/nepi/nepi_link/nepi-bot/lb/data/”
NOTE: These alaises are located in a “.bash_aliases” file which is a symlink to “/opt/nepi/config/home/nepi/nepi_bash_aliases”. You can edit this file to add aditional aliais using the following command:
nano ~/.bash_aliases
Customizing the File System
See the tutorials below for information about customizing your NEPI File System and Resident User Interface (RUI):
https://nepi.com/nepi-tutorials/nepi-engine-customizing-the-nepi-file-system/
https://nepi.com/nepi-tutorials/nepi-engine-customizing-the-nepi-rui-system/