Yes! There are two ways to get access to a shell/terminal/ssh on Domino:
- Direct SSH integration
- A Jupyter notebook's terminal
1. SSH Integration
This functionality enables access directly to the environment powering your interactive session. This is enabled in our hosted cloud environment, and must be enabled by your administrator for private cloud and on-premises users.
Prerequisite: Configure Your Account for SSH Integration
Configuring your account for ssh access is easy with Domino.
From the Web UI, click on your username in the top right corner and select “Account Settings”. From the Account Settings page, select SSH Keys from the left hand menu.
Find your public key on your own machine. Often this is
~/.ssh/id_rsa.pub and copy the contents of this file into the dialog. For example, this is what one of these keys may look like:
$ cat ~/.ssh/id_rsa.pub ssh-rsa AAAB3nZaC1aycAAEU+/ZdulUJoeuchOUU02/j18L7fo+ltQ0f322+Au/9yy9oaABBRCrHN/yo88 BC0AB3nZaC1aycAAEU+/ZdulUJoeuchOUU02/j18L7fo+ltQ0f322AB3nZaC1aycAAEU+/ZdulU JoeuchOUU02/j18L7fo+ltQ0f322AB3nZaC1aycAAEU+/ZdulUJoeuchOUU02/j18L7fo+ltQ0f322 AB3nZaC1aycAAEU+/ZdulUJoeuchOUU02/j18L7fo+ltQ0f322klCi0/aEBB c02N+JJP firstname.lastname@example.org
Take that text, copy it into the text box, and remember to give your SSH key a memorable name. You want to be able to remember which keys were on which computers in case you ever need to revoke access. The process should look like this GIF.
From the Account Settings screen, you will be able to manage your keys if you ever need to delete one.
[Note: If your key fails to validate, make sure it consists of the following space separated fields: options field (optional), key type, Base64-encoded key, and comment (optional). The key type must start with "ssh" or "ecds". No spaces are permitted in the key type, key, or comment field. Spaces in the options fields are only permitted within double quotes. For more information, see the ssh manual page (http://man.openbsd.org/sshd.8).]
Now you’re ready to SSH into an interactive session!
SSH'ing into an Interactive Session
Start an interactive session(such as a Jupyter notebook or RStudio) and copy/paste the SSH connection string into the terminal of your choice like this:
Note: if you have multiple keypairs on your local machine, you'll need to specify the correct one with -i if it's not the default, e.g.
ssh -p 49001 -i ~/.ssh/my_domino_key_rsa email@example.com
2. Jupyter Terminal
You can get shell access via Jupyter, which lets you create a new "Terminal" session. To do this:
1. Start a new notebook session and open it.
2. Create a "Terminal" from Jupyter's "new" menu.
From here, you have access to all the files in your project, as well as all executables installed in the underlying compute environment.