Guide

Connecting to BXE

Learn how to connect to the BXE cluster

Berkeley eXtensible Environment Team

Requesting a BXE Account

  1. Please contact the LBNL T&E Team.
  2. You will receive an email with login username, password, and the BXE FireSim node you have been assigned.
  3. Log in via SSH to bxe.lbl.gov.

    a. If it’s your first time logging in, you will be asked to reset your password.

$ ssh <USERNAME>@bxe.lbl.gov
Last login: Wed Apr 26 12:17:01 2023 from xxx.xxx.xxx.xxx
[USERNAME@bxe ~]$

  1. Once logged in, generate an SSH Key Pair on bxe.lbl.gov:
[USERNAME@bxe ~]$ ssh-keygen -t ed25519 -C "<EMAIL ADDRESS>"
  1. Send a copy of this generated Public Key (~/.ssh/id_ed25519.pub) to the email that supplied you the account details.

  2. Once confirmed, log into your assigned node and have fun!

Using SSH ProxyJump

You can log into your BXE VM directly from your host using SSH ProxyJump (-J option).

NOTE

You'll need to download a copy of your generated SSH private (~/.ssh/id_ed25519) and public (~/.ssh/id_ed25519.pub) keys from the previous Requesting a BXE Account section to your local machine in order for ProxyJump to work.

Command Line

ssh -i <LOCAL-PATH-TO-BXE-SSH-PRIVATEKEY> -J <USERNAME>@bxe.lbl.gov <USERNAME>@bxe-xxx

SSH Config (used for VS Code VSCode)

If you use VS Code VSCode, add the following to your local ~/.ssh/config:

Host bxe-xxx
  Hostname bxe-xxx
  User <USERNAME>
  IdentityFile <LOCAL-PATH-TO-BXE-SSH-PRIVATEKEY>
  ProxyJump <USERNAME>@bxe.lbl.gov

You can now simply login with:

ssh bxe-xxx

Opening a Persistent Session on BXE FireSim Nodes

With any remote connection, disruptions happen. This can mean losing your work, like a running simulation, a custom architecture build, etc. Once you have established a connection to you BXE FireSim node, we recommend performing any work in a persistent session.

Below you’ll find some instructions on options we provide.

Using tmux

Log into your assigned BXE FireSim node and launch tmux.

$ ssh -i <LOCAL-PATH-TO-BXE-SSH-PRIVATEKEY> -J <USERNAME>@bxe.lbl.gov <USERNAME>@bxe-xxx
Welcome to Ubuntu 24.04.3 LTS (GNU/Linux 6.14.0-35-generic x86_64)
# ...
<USERNAME>@bxe-xxx:~$ tmux
  • To launch a new tmux window: Ctrl/⌘cmd+b, then type :new
  • To switch between tmux windows: Ctrl/⌘cmd+b, type s, then select the number of the window you want to switch too
  • To detach from a tmux session but keep the session running: Ctrl/⌘cmd+d
NOTE

This tmux Cheat Sheet & Quick Reference is a good resource.

Using xrdp

Your BXE node comes installed with xrdp. However, you’ll have to forward the RDP port with SSH tunneling. In this example, we will use:

  • SSH Tunnel port: :9501
  • RDP port: :3389

Log into your designated BXE node, tunneling the you desired SSH port to the RDP port.

$ ssh -L 9501:localhost:3389 -i <LOCAL-PATH-TO-BXE-SSH-PRIVATEKEY> -J <USERNAME>@bxe.lbl.gov <USERNAME>@bxe-xxx
Welcome to Ubuntu 24.04.3 LTS (GNU/Linux 6.14.0-35-generic x86_64)
# ...
<USERNAME>@bxe-xxx:~$ 

Open your RDP Viewer of choice and connect to the SSH Tunnel port: localhost:9501.

Using VNC

Your BXE node comes installed with TigerVNC. However, you’ll have to forward the VNC port with SSH tunneling. While you can use any VNC port and any port on the login node, we recommend the following settings. In this example, we will use:

  • SSH Tunnel port: :9501
  • VNC Port: :1 (TCP Port: :5901)

Log into your designated BXE node, tunneling the you desired SSH port to your VNC port. Once logged in, launch vncserver with your desired port.

$ ssh -L 9501:localhost:5901 -i <LOCAL-PATH-TO-BXE-SSH-PRIVATEKEY> -J <USERNAME>@bxe.lbl.gov <USERNAME>@bxe-xxx
Welcome to Ubuntu 24.04.3 LTS (GNU/Linux 6.14.0-35-generic x86_64)
# ...
<USERNAME>@bxe-xxx:~$ vncserver :1

Open your VNC Viewer of choice and connect to the SSH Tunnel port: localhost:9501.