Die Bearbeitung der Aufgaben ist an mehreren Stellen anders als bei der vorherigen Virtualbox-Lösung. Die Aufgabenstellungen sind dementsprechend angepasst und bei wichtigen Änderungen findet sich am Anfang der Datei ein Disclaimer, was es dort zu beachten gibt.
- Sie benötigen zur Bearbeitung Visual Studio Code (VS Code) mit der Erweiterung Remote SSH.
- Nachdem Sie die IDE mit der entsprechenden Erweiterung eingerichtet haben, benötigen Sie noch das Programm Multipass und die in diesem Repo oder dem Ilias-Ordner
Setupbefindliche Dateicloud-config.yaml. - In diese Datei müssen Sie unter
ssh_authorized_keysIhren öffentlichen SSH-Schlüssel angeben. Dabei müssen Sie die vorhandenen Zeichen (< und >) löschen, den davor befindlichen Strich aber stehen lassen. - Sollten Sie SSH noch nie verwendet haben, so können Sie ein Schlüsselpaar mit dem im Repo enthaltenen Skript
/versuch4/scripts/keygen.sherstellen. Auf einem Mac können Sie das Skript mit "sh keygen.sh" ausführen. - In Windows können Sie den Befehl "ssh-keygen" in der Eingabeaufforderung verwenden.
- Den benötigten Key finden Sie unter Linux und Mac im Unterverzeichnis
.sshin Ihrem Wurzelverzeichnis in der Dateiid_rsa.pub, deren Inhalt Sie vollständig kopieren müssen. - Unter Windows finden Sie den Ordner
.sshim VerzeichnisC:/Users/<User>/.ssh, dabei müssen Sie die Dateiid_rsa.pubmit einem Texteditor statt Microsoft Publisher öffnen. Mit dem folgenden Befehl können Sie darufhin in einem Terminal eine Virtuelle Ubuntu Maschine aufsetzen:
multipass launch jammy --cpus 2 --disk 10G --memory 4G --cloud-init cloud-config.yaml- Mit dem Befehl
multipass infoKönnen Sie sich die IP-Adresse ihrer virtuellen Maschine ausgeben lassen. - Mit dieser IP können Sie sich mit der Maschine über ssh verbinden, indem Sie diese als Host in Visual Studio Code anlegen. Dafür können Sie über den blauen Remote-Window-Knopf im linken unteren Eck mit der Option
Connect to Hostund der darauffolgenden OptionAdd new SSH Hostunter Angabe vonssh labrat@<IPAdresse>die Einrichtung durchführen. - Nach der Einrichtung können Sie sich mit der Maschine über deren Auswahl in der Option
Connect to Hostverbinden. - Sobald Sie mit der Maschine verbunden sind, müssen Sie durch die Option
Open Folderdas Home-Verzeichnis Ihres Nutzers (labrat) öffnen und das Skriptsetup.shim Unterordnerkn1labausführen. - Dafür müssen Sie ein Terminal öffnen, mit dem Befehl
cd kn1labin den Unterordner wechseln und das Skript mit./setup.shausführen. - Dieses Skript setzt Ihre Umgebung final auf und installiert auch alle benötigten Erweiterungen für Visual Studio Code, sodass Sie danach alle Versuche bearbeiten können.
- Multipass kann in Windows mit Hyper-V oder Virtualbox verwendet werden. Bei der Home-Version von Windows ist Hyper-V nicht verfügbar. Zur Verwendung von Virtualbox müssen Sie es noch installieren.
- Sollte beim Aufsetzen der virtuellen Maschine unter Windows der folgende Fehler auftauchen:
launch failed: Multipass support for Hyper-V requires Windows 10 or newer, dann können Sie die Virtualisierung auf Virtualbox mit dem folgenden Befehl in einer Powershell mit Admin-Rechten umstellen:
multipass set local.driver=virtualbox-
Nach dieser Änderung müssen Sie Ihren Computer neu starten.
-
Bei der Verwendung von Virtualbox müssen Sie jedoch auch den Befehl zum Starten der Maschine ändern.
-
Sie benötigen dafür den Namen ihres Netzwerks. Diesen können Sie mit
multipass networksauslesen und müssen diesen dann in den untweren Befehl einsetzen. -
Ohne diese Änderung des Befehls ist SSH in Ihrer virtuellen Maschine nicht verfügbar.
multipass launch jammy --cpus 2 --disk 10G --memory 4G --cloud-init cloud-config.yaml --network name="<Netzwerk-Name>"-
Nach der Installation von multipass auf einem Linux Rechner kann es sein, dass Sie diesen für multipass authentifizieren müssen. Sollten Sie damit Schwierigkeiten haben, kann dieser Link helfen.
-
Sollten Sie mit dieser Anleitung mit einem Mac nicht weiterkommen, kann der Workaround aus diesem GitHub-Issue helfen:
Stop the daemon: sudo launchctl unload /Library/LaunchDaemons/com.canonical.multipassd.plist
Delete /var/root/Library/Application\ Support/multipassd/authenticated-certs/multipass_client_certs.pem
Copy your user's public cert: sudo cp ~/Library/Application\ Support/multipass-client-certificate/multipass_cert.pem /var/root/Library/Application\ Support/multipassd/authenticated-certs/multipass_client_certs.pem
Start the daemon: sudo launchctl load /Library/LaunchDaemons/com.canonical.multipassd.plist