Precourse preparations
Background knowledge
As is stated in the course prerequisites at the announcement web page, we expect participants to have a basic understanding of working with the command line on UNIX-based systems and a a good understanding of Docker and Apptainer/Singularity containers.
UNIX
You can test your UNIX skills with a quiz here. If you don’t have experience with UNIX command line, or if you are unsure whether you meet the prerequisites, follow our online UNIX tutorial.
Docker/Apptainer
If you don’t have experience with Docker or Apptainer containers, or if you are unsure whether you meet the prerequisites, check out the material of the dedicated SIB course.
Software
OS and terminal
If you are using a UNIX or UNIX-like OS (e.g MacOS), you already have a terminal readily usable for the course. If you are working with Windows, although Windows Powershell is suitable for that, we strongly recommend to install a UNIX or ‘UNIX-like’ terminal. You can get this by using MobaXterm or WSL2 (recommended solution).
Code editor
You should have a modern code editor installed. During the course, we can give only limited help for installation and set-up issues, so we will only “officially” support VScode. If you are already very familiar with another combination of modern code editor/command line interface, feel free to use it, but know that support for this will be limited.
Other required installations
In addition to VScode, you would need to have followed the instructions to set up the remote-ssh
extension:
- OpenSSH compatible client: this is usually pre-installed on your OS. You can check whether the command
ssh
exists by typing it in a terminal - Remote-SSH extension: to install it, open VSCode and click on the extensions icon (four squares) on the left side of the window. Search for
Remote-SSH
and click onInstall
SSH connections
In addition to your local computer, you will be working on an Amazon Web Services (AWS) Elastic Cloud (EC2) server. This Ubuntu server behaves like a ‘normal’ remote server, and can be approached through ssh
. If you are enrolled in the course, you have access to a shared document containing instruction to retrieve your username and private ssh key, granting you access to a personal home directory on the server.
Server availability
Please note that, for cost reasons, the server will be started the morning of the course (or the evening before, at the earliest), and will be stopped the day after the course ends, so you will not be able to connect before or after these dates. Likewise, if you need to retrieve data from the server, please do it before it is stopped.
If you want to know more about ssh
If you are not familiar with ssh
, you can check the Heidelberg University tutorial for information on how to set it up and use it.
Here are instructions on how to use VScode to connect with SSH to a remote server. First, place the key_username.pem
file in the proper folder:
Open a PowerShell terminal, cd
to the directory where you have stored your private key (key_username.pem
file) and move it to ~\.ssh
:
Move-Item -Path key_username.pem -Destination $HOME\.ssh
Open a terminal, cd
to the directory where you have stored your private key (key_username.pem
file), change the permissions of the key file and move it to ~/.ssh
:
chmod 400 key_username.pem
mv key_username.pem ~/.ssh
Then:
- Open VScode and click on the green or blue button in the bottom left corner
- Select
Connect to Host...
and thenConfigure SSH Hosts...
- Specify a location for the SSH config file (preferably the same directory as where your keys are stored):
~/.ssh/config
-
A skeleton config file will be provided. Edit it, so it looks like this (replace
username
with your username, and make sure the IP address inHostName
match what the one given in the shared document):Note: if you are working with the Windows SSH executable (for exampleHost sib_course_remote User username HostName 18.195.137.58 IdentityFile ~\.ssh\key_username.pem
C:\WINDOWS\System32\OpenSSH\ssh.exe
), you may have to use the full path of the key file instead of a relative one inIdentityFile
:IdentityFile C:\Users\<windows_username>\.ssh\key_username.pem
Host sib_course_remote User username HostName 18.195.137.58 IdentityFile ~/.ssh/key_username.pem
Finally:
- Save and close the config file
- Click again on the green or blue button in the bottom left corner
- Select
Connect to Host...
, and thensib_course_remote
. You will be asked which operating system is used on the remote. ChooseLinux
Video tutorial
You can find a video tutorial to configure SSH connections in VScode below:
If you are not working with VScode
If you are not working with VScode, you can login to the remote server with the following command in a terminal:
ssh -i key_username.pem username@18.195.137.58
sshfs
.