Changes between Version 4 and Version 5 of User Guide/Portal


Ignore:
Timestamp:
Mar 4, 2026, 7:38:08 PM (4 hours ago)
Author:
editor
Comment:

Fix SSH access: username on consoles only, root on nodes with baseline images

Legend:

Unmodified
Added
Removed
Modified
  • User Guide/Portal

    v4 v5  
    16161. Go to [https://www.cosmos-lab.org/register_usr Register User]
    17172. Fill in your details:
    18    * '''Username''' -- 3-16 characters, must start with a letter. Only lowercase letters, digits, hyphens, and underscores are allowed. This becomes your Linux login name on all testbed nodes.
     18   * '''Username''' -- 3-16 characters, must start with a letter. Only lowercase letters, digits, hyphens, and underscores are allowed. This becomes your login name on testbed console servers and other infrastructure machines.
    1919   * '''First Name, Last Name''' -- ASCII characters only
    2020   * '''Email''' -- must be a valid institutional email. Some organizations enforce domain restrictions (e.g., only @university.edu addresses).
     
    8383* '''Delete a key''' -- remove individual keys you no longer need
    8484
    85 You can upload multiple keys (e.g., one from your laptop and one from your desktop). These keys are deployed to all testbed consoles and nodes, giving you SSH access during active reservations.
     85You can upload multiple keys (e.g., one from your laptop and one from your desktop). These keys are deployed to testbed console servers (jump hosts), giving you SSH access during active reservations. On baseline node images, root SSH access is granted automatically for the duration of your reservation.
    8686
    8787[[Image(portal-ssh-keys.png, width=40%)]]
     
    111111Once you have an approved reservation and your SSH key uploaded, you can connect to testbed nodes via SSH through the console server for your reserved domain.
    112112
     113'''Important:''' Your portal username is used to log in to the '''console servers''' (jump hosts) and other testbed infrastructure. On the testbed '''nodes''' themselves, you log in as '''root''' when using baseline images, or with whatever username you configure on your own custom/derivative images.
     114
    113115=== Basic SSH Connection ===
    114116
    115117The general pattern for connecting to a testbed node is:
    116118{{{
    117 ssh -J <username>@<console>.cosmos-lab.org <username>@<node>
    118 }}}
    119 
    120 The `-J` flag sets up a '''jump host''' (also called a ''bastion host'' or ''proxy jump''), routing your SSH connection through the console server to reach the internal testbed node. For example, to connect to node1 in sandbox SB1:
    121 {{{
    122 ssh -J myuser@sb1.cosmos-lab.org myuser@node1-1
     119ssh -J <username>@<console>.cosmos-lab.org root@<node>
     120}}}
     121
     122The `-J` flag sets up a '''jump host''' (also called a ''bastion host'' or ''proxy jump''), routing your SSH connection through the console server to reach the internal testbed node. Your portal username authenticates you on the console; on the node itself you typically log in as `root` (baseline images). For example, to connect to node1-1 in sandbox SB1:
     123{{{
     124ssh -J myuser@sb1.cosmos-lab.org root@node1-1
    123125}}}
    124126
     
    126128{{{
    127129Host sb1-*
    128     User myuser
    129130    ProxyJump myuser@sb1.cosmos-lab.org
    130131
    131132Host node1-1
    132133    HostName node1-1
    133     User myuser
     134    User root
    134135    ProxyJump myuser@sb1.cosmos-lab.org
    135136}}}
     
    141142'''Local port forwarding''' -- forward a port from a remote testbed node to your local machine:
    142143{{{
    143 ssh -L 8888:localhost:8888 -J myuser@sb1.cosmos-lab.org myuser@node1-1
     144ssh -L 8888:localhost:8888 -J myuser@sb1.cosmos-lab.org root@node1-1
    144145}}}
    145146This makes port 8888 on node1-1 accessible at `localhost:8888` on your machine. Useful for Jupyter notebooks, web UIs, and other services.
     
    147148'''Dynamic SOCKS proxy''' -- create a SOCKS proxy to route all traffic through a testbed node:
    148149{{{
    149 ssh -D 1080 -J myuser@sb1.cosmos-lab.org myuser@node1-1
     150ssh -D 1080 -J myuser@sb1.cosmos-lab.org root@node1-1
    150151}}}
    151152Then configure your browser to use `localhost:1080` as a SOCKS5 proxy.