Tutorial 1 - Introduction

Submission process:

  • Submission deadline is October 30, 14:00 CET (before the lecture) .
  • Commit and push your solution as separate notebook files per subtask via git as ./tutorial/tutorial1/tutorial1_2.ipynb. Please take care of the correct subfolder/filename since submission is denied otherwise.
  • During the first lecture after the deadline we will discuss a sample solution in class.
  • Afterwards, you have time until November 4, 16:00 CET (before the lecture) to submit a corrected version of your submission:
    1. Rework your solution according to our discussion in class.
    2. Commit and push the corrected version as a separate file per subtask via git as ./tutorial/tutorial1/tutorial1_2.ipynb. Please take care of the correct filename since submission is denied otherwise.

Remarks:

  • Grading is done based on both versions of your submission.
  • If the first submission is missing your submission will not be graded.
  • If the second submission contains major flaws after revision not more than half of the credits for this tutorial can be achieved.
  • A sample solution is provided after November 4, 16:00 CET eventually.
  • Please use acn@net.in.tum.de for questions regarding lecture, tutorial, and project of ACN.

Problem 2 SSH and Virtual Machine (VM) Access [3.0 credits]

If you can see this notebook you probably followed directions from the infrastructure introduction. To hand in your answers, please write them down in the prepared cells.

a) [0.5 credits] What is SSH and what it is being used for?

Secure shell, used for secure remote shell connections, uses TCP (default: port 22).

b) [0.5 credits] What is the difference between public-key and password authentication as offered by SSH?

  • password authentication: uses a shared secret (password) between ssh-server and ssh-client for authentication
  • public-key authentication: ssh-server and ssh-client each have their own key pair; knowing the public key of such a key pair allows authenticating the respective private key (and therefore its owner)

c) [1.0 credits] SSH can be used to connect to your testbed VM and execute code (e.g., Jupyter).

You can connect to your VM (in this case we use the host i1-router0) using the command:

ssh -L localhost:1337:localhost:1337 -J testbed.acn.net.cit.tum.de root@i1-router0

Explain in detail what each part in this command does.

ssh -L localhost:1337:localhost:1337 -J testbed.acn.net.cit.tum.de root@i1-router0

  • ssh -L: creates an SSH connection with local port forwarding
  • localhost:1337:localhost:1337: forwards the port 1337 from localhost to localhost port 1337 on the remote host. The first localhost can be omitted as id is the default.
  • -J testbed.acn.net.cit.tum.de: use the given host as jumphost to connect further
  • root@i1-router0: FQDN of the remote host you want to connect to

d) [1.0 credits] Connect to your virtual machine using SSH and execute the following three commands:

  • whoami
  • uname -a
  • pwd

Paste the output of each of the three commands into your answer and explain what each command does.

  • whoami:

  • uname -a:

  • pwd:

Advanced Computer Networking by Prof. Dr.-Ing. Georg Carle

Teaching assistants: Christian Dietze, Sebastian Gallenmüller, Marcel Kempf, Lorenz Lehle, Nikolas Gauder, Patrick Dirks