Skip to content

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 on Install

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 received an e-mail with an IP address, username, private key and password to grant you access to a personal home directory on the server.

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, and cd to the directory where you have stored your private key. Then 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 then Configure SSH Hosts...
  • Specify a location for the SSH config file. Use the same directory as where your keys are stored (so ~/.ssh/config)
  • A skeleton config file will be provided. Edit it, so it looks like this (replace username with your username, and specify the correct IP at HostName):

    Host sib_course_remote
        User username
        HostName 18.195.170.182
        IdentityFile ~\.ssh\key_username.pem
    
    Host sib_course_remote
        User username
        HostName 18.195.170.182
        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 then sib_course_remote. You will be asked which operating system is used on the remote. Choose Linux

You can also find a video tutorial 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.170.182
If you want to edit files directly on the server, you can mount a directory with sshfs.