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:
- Rework your solution according to our discussion in class.
- 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