- 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
Setup
befindliche Dateicloud-config.yaml
. - In diese Datei müssen Sie unter
ssh_authorized_keys
Ihren ö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.sh
erstellen. 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
.ssh
in Ihrem Wurzelverzeichnis in der Dateiid_rsa.pub
, deren Inhalt Sie vollständig kopieren müssen. - Unter Windows finden Sie den Ordner
.ssh
im VerzeichnisC:/Users/<User>/.ssh
, dabei müssen Sie die Dateiid_rsa.pub
mit 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 info
Kö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 Host
und der darauffolgenden OptionAdd new SSH Host
unter 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 Host
verbinden. - Sobald Sie mit der Maschine verbunden sind, müssen Sie durch die Option
Open Folder
das Home-Verzeichnis Ihres Nutzers (labrat
) öffnen und das Skriptsetup.sh
im Unterordnerkn1lab
ausführen. - Dafür müssen Sie ein Terminal öffnen, mit dem Befehl
cd kn1lab
in den Unterordner wechseln und das Skript mit./setup.sh
ausfü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 networks
auslesen 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