From adf5a1c9b770113ff0fcf53073dc4196717a370c Mon Sep 17 00:00:00 2001 From: Evy Garden <julian.storozhenko@tu-dortmund.de> Date: Sun, 10 Sep 2023 17:04:14 +0200 Subject: [PATCH] Korrektur und Beispielprojekt --- README.md | 83 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 59 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 809f0ab..712971a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # SSH Guide für BS -## Inhaltsverzeichniss +## Inhaltsverzeichnis 1. IRB VPN Einrichtung + Verweis auf OpenVPN guide der IRB 2. SSH Einrichtung @@ -62,11 +62,11 @@ Host uran polonium promethium plutonium bohrium technetium ``` > ersetzt dabei `IRB_NUTZERNAME` mit eurem IRB Nutzernamen (bspw. `muster00`). -4. Jetzt könnt ihr euch mit den servern ganz leicht über SSH verbinden. Gebt dazu einfach bspw `ssh uran` ein, um euch mit dem `uran` server zu verbinden. +4. Jetzt könnt ihr euch mit den Servern ganz leicht über SSH verbinden. Gebt dazu einfach bspw. `ssh uran` ein, um euch mit dem `uran` server zu verbinden. > Als Passwort nutzt ihr euer IRB Passwort. -#### Optional: SSH Keypair -Wenn ihr nicht jedes mal euer IRB Passwort rauskramen wollt oder gar kein Passwort eingeben wollt, könnt ihr statt der Passwort Authentizierung auch ein Schlüsselpaar generieren und diesen an den Server übertragen. +#### Optional: SSH key-pair +Wenn ihr nicht jedes mal euer IRB Passwort rauskramen wollt oder gar kein Passwort eingeben wollt, könnt ihr statt der Passwort Authentisierung auch ein Schlüsselpaar generieren und diesen an den Server übertragen. 1. Generiert ein Schlüsselpaar, wenn ihr nicht schon eins benutzt: ```shell @@ -102,7 +102,7 @@ Das ist das Verzeichnis eures Users. Guckt euch gerne um mithilfe der folgenden Befehle ###### `ls` -Listet alle Dateien in dem angegebenen Verzeichnis oder om momentanen Arbeits-Verzechnis, falls kein Pfad angegeben wurde. +Listet alle Dateien in dem angegebenen Verzeichnis oder om momentanen Arbeits-Verzeichnis, falls kein Pfad angegeben wurde. ```shell $ ls Documents Downloads Games Pictures Videos Desktop Music @@ -113,9 +113,9 @@ bar ###### ###### `cd` -Wechselt das momentane Arbeits-Verzeichnis in das angebene. -Wird kein Verzeichnis angegeben, so wechselt das Arbeitsverzechnis -in das Heim-Verzechnis (`~`). +Wechselt das momentane Arbeits-Verzeichnis in das angeben. +Wird kein Verzeichnis angegeben, so wechselt das Arbeits-Verzeichnis +in das Heim-Verzeichnis (`~`). ```shell $ cd /tmp/foo $ ls @@ -134,7 +134,7 @@ $ pwd ###### `cp` & `mv` -Die Kopier und Bewegungs-Befehle haben einen ähnlichen Syntax. Der Unterschied ist, dass `mv` die ursprüngliche Datei löscht. +Die Kopier- und Bewegungs-Befehle haben einen ähnlichen Syntax. Der Unterschied ist, dass `mv` die ursprüngliche Datei löscht. > Der `mv` Befehl wird auch zur Umbenennung von Dateien genutzt. ```shell @@ -159,7 +159,7 @@ $ ``` ###### `wget` -Lädt eine Datei über http/s runter und speichert diese im momentanen Arbeits-Verzechnis +Lädt eine Datei über http/s runter und speichert diese im momentanen Arbeits-Verzeichnis ```shell $ wget https://example.org/example $ ls @@ -179,23 +179,58 @@ example ### Testprojekt +Im folgenden werdet ihr ein Projekt herunterladen, extrahieren, kompilieren, und ausführen. -###### `CMakeFiles.txt` -```cmake= -cmake_minimum_required(VERSION 3.0.0) -project(Test LANGUAGES C VERSION 0.0.1) +#### Herunterladen +Wie schon gezeigt, ist der `wget` Befehl für dieses Szenario geeignet. +```sh +$ wget "https://gitlab.fachschaften.org/evysgarden/bs-ssh-tutorial/-/archive/main/bs-ssh-tutorial-main.zip" +$ ls +bs-ssh-tutorial-main.zip +``` -add_executable(main - ${PROJECT_SOURCE_DIR}/main.c -) +#### Extrahieren +Das ZIP-Archiv muss nun extrahiert werden. Dafür wird der `unzip` Befehl genutzt. +```sh +$ unzip bs-ssh-tutorial-main.zip +$ ls +bs-ssh-tutorial-main.zip bs-ssh-tutorial-main ``` -###### `main.c` -```c= -#include <stdio.h> +#### Kompilieren +Das Projekt liegt nun vor und kann kompiliert werden. +Dazu wird der GNU C Compiler (`gcc`) genutzt. +Zuvor sollte das Arbeits-Verzeichnis jedoch zum Projekt wechseln. +```sh +$ cd bs-ssh-tutorial-main +$ gcc src/main.c +$ ls +a.out CMakeLists.txt LICENSE README.md src +``` -int main() { - printf("hey world ^^\n"); - return 0; -} +#### Ausführen +Das Programm ist nun kompiliert und kann ausgeführt werden. +```sh +$ ./a.out ``` + +> Der Code kann gerne betrachtet werden mithilfe des `cat` Befehls, +> welcher alle angegebenen Dateien in eure Shell ausgibt: +> ```sh +> $ cat src/main.c +> ``` +> *Falls keine Datei ausgelesen wird, liest `cat` aus der Eingabe. +> Um `cat` zu beenden muss `CTRL+C` gedrückt werden.* + +## Visual Studio über SSH +Um Visual Studio Code mit ssh zu nutzen, folgt der offiziellen Guide hier: +https://code.visualstudio.com/docs/remote/ssh#_connect-to-a-remote-host + +> Die SSH Zeile ist +> ```sh +> $ ssh <IRB_NUTZERNAME>@uran.cs.tu-dortmund.de +> ``` +> oder wenn ihr die SSH Guide weiter oben befolgt habt einfach +> ```sh +> $ ssh uran +> ``` \ No newline at end of file -- GitLab