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

Korrektur und Beispielprojekt

parent 8ac74398
No related branches found
No related tags found
No related merge requests found
# 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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment