Skip to content
Snippets Groups Projects
Commit adf5a1c9 authored by Evy Storozhenko's avatar Evy Storozhenko
Browse files

Korrektur und Beispielprojekt

parent 8ac74398
Branches
No related tags found
No related merge requests found
# SSH Guide für BS # SSH Guide für BS
## Inhaltsverzeichniss ## Inhaltsverzeichnis
1. IRB VPN Einrichtung 1. IRB VPN Einrichtung
+ Verweis auf OpenVPN guide der IRB + Verweis auf OpenVPN guide der IRB
2. SSH Einrichtung 2. SSH Einrichtung
...@@ -62,11 +62,11 @@ Host uran polonium promethium plutonium bohrium technetium ...@@ -62,11 +62,11 @@ Host uran polonium promethium plutonium bohrium technetium
``` ```
> ersetzt dabei `IRB_NUTZERNAME` mit eurem IRB Nutzernamen (bspw. `muster00`). > 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. > Als Passwort nutzt ihr euer IRB Passwort.
#### Optional: SSH Keypair #### 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 Authentizierung auch ein Schlüsselpaar generieren und diesen an den Server übertragen. 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: 1. Generiert ein Schlüsselpaar, wenn ihr nicht schon eins benutzt:
```shell ```shell
...@@ -102,7 +102,7 @@ Das ist das Verzeichnis eures Users. ...@@ -102,7 +102,7 @@ Das ist das Verzeichnis eures Users.
Guckt euch gerne um mithilfe der folgenden Befehle Guckt euch gerne um mithilfe der folgenden Befehle
###### `ls` ###### `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 ```shell
$ ls $ ls
Documents Downloads Games Pictures Videos Desktop Music Documents Downloads Games Pictures Videos Desktop Music
...@@ -113,9 +113,9 @@ bar ...@@ -113,9 +113,9 @@ bar
###### ######
###### `cd` ###### `cd`
Wechselt das momentane Arbeits-Verzeichnis in das angebene. Wechselt das momentane Arbeits-Verzeichnis in das angeben.
Wird kein Verzeichnis angegeben, so wechselt das Arbeitsverzechnis Wird kein Verzeichnis angegeben, so wechselt das Arbeits-Verzeichnis
in das Heim-Verzechnis (`~`). in das Heim-Verzeichnis (`~`).
```shell ```shell
$ cd /tmp/foo $ cd /tmp/foo
$ ls $ ls
...@@ -134,7 +134,7 @@ $ pwd ...@@ -134,7 +134,7 @@ $ pwd
###### `cp` & `mv` ###### `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. > Der `mv` Befehl wird auch zur Umbenennung von Dateien genutzt.
```shell ```shell
...@@ -159,7 +159,7 @@ $ ...@@ -159,7 +159,7 @@ $
``` ```
###### `wget` ###### `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 ```shell
$ wget https://example.org/example $ wget https://example.org/example
$ ls $ ls
...@@ -179,23 +179,58 @@ example ...@@ -179,23 +179,58 @@ example
### Testprojekt ### Testprojekt
Im folgenden werdet ihr ein Projekt herunterladen, extrahieren, kompilieren, und ausführen.
###### `CMakeFiles.txt` #### Herunterladen
```cmake= Wie schon gezeigt, ist der `wget` Befehl für dieses Szenario geeignet.
cmake_minimum_required(VERSION 3.0.0) ```sh
project(Test LANGUAGES C VERSION 0.0.1) $ 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 #### Extrahieren
${PROJECT_SOURCE_DIR}/main.c 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` #### Kompilieren
```c= Das Projekt liegt nun vor und kann kompiliert werden.
#include <stdio.h> 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() { #### Ausführen
printf("hey world ^^\n"); Das Programm ist nun kompiliert und kann ausgeführt werden.
return 0; ```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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment