Skip to content
Snippets Groups Projects
Name Last commit Last update
src
.gitignore
CMakeLists.txt
LICENSE
README.md

SSH Guide für BS

Inhaltsverzeichniss

  1. IRB VPN Einrichtung
    • Verweis auf OpenVPN guide der IRB
  2. SSH Einrichtung
    • Erstanmeldung
    • Übertragung des Schlüssels (Optional)
    • Konfiguration der ssh Datei
  3. Kurze sh Einführung
    • Navigation mit cd, ls, pwd
    • Dateimanipulation mit cp, mv, rm
    • Dateien bearbeiten mit nano, vim[optional]
    • Dateien Empfangen mit wget, curl
    • Dateien extrahieren mit unzip
    • Dateien kompilieren mit gcc, make
    • Dateien ausführen mit ./a.out
  4. Visual Studio Code over ssh
    • SSH remote extension installieren und ssh ausführen
    • Projektordner öffnen
    • Projekt kompilieren
    • Datei übertragen

IRB VPN Einrichtung

Vorwort

Das Virtual Private Network (VPN) ist ein Werkzeug mit dem ihr euch auch von zuhause aus im internen Netzwerk der Uni bewegen könnt. Die Idee dahinter ist, dass ich mit einem virtuellen Netzwerk verbindet, welches euch Zugriff auf beispielsweise die Server des IRB gibt.

Als Studierende im Fach Informatik könnt ihr euch einen Pool-Account beim IRB machen und mit den Zugangsdaten dann auch das vom IRB bereitgestellte VPN nutzen.

Anleitung

  1. Macht euch einen IRB Pool-Account, falls ihr noch keinen habt.
  2. Geht auf oh14.de/vpn und versucht mit der Guide das VPN bei euch aufzusetzen.

    Für Linux: Auf Linux Distributionen soll NetworkManager genutzt werden. Jedoch funktioniert das Aufgrund des Formats der .ovpn-Datei nicht. Nutzt stattdessen den openvpn Befehl direkt. $ sudo openvpn --config vpn_client.ovpn

  3. Loggt euch im VPN mit eurem IRB Mail-Nutzernamen und eurem IRB Pool Passwort ein.

    Euren Mail-Nutzernamen findet Ihr, wenn ihr hier einloggt und navigiert zu > Accounts Verwalten > Status-Info : Mail-Account

  4. Jetzt solltet ihr im VPN sein. Bei Fragen sind die Kontaktdaten auf der Seite. Sobald ihr fertig seid, schaltet die VPN wieder ab.

SSH Einrichtung

Vorwort

SSH ist ein Protokoll über welches eine sichere Verbindung zu einem anderen Gerät aufgebaut werden kann, worüber eine Shell geöffnet wird. Eine Shell ist ein Programm, über welches mithilfe von Text-Kommandos ein Computer bedient werden kann.

Wenn ihr also auf dem IRB Pool von zuhause arbeiten wollt, könnt ihr eine SSH Verbindung zu einem der IRB Servern aufbauen und dort über die Shell arbeiten.

Anleitung: Linux/MacOS/*nix

  1. Verbindet euch mit der IRB VPN.
  2. Falls die Datei ~/.ssh/config noch nicht existiert, fügt diese hinzu.
touch ~/.ssh/config
chmod 600 ~/.ssh/config
  1. Fügt in die Datei ~/.ssh/config folgendes hinzu:
Host uran polonium promethium plutonium bohrium technetium
  User IRB_NUTZERNAME
  HostName %h.cs.tu-dortmund.de

ersetzt dabei IRB_NUTZERNAME mit eurem IRB Nutzernamen (bspw. muster00).

  1. 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.

  1. Generiert ein Schlüsselpaar, wenn ihr nicht schon eins benutzt:
ssh-keygen -t ed25519

Wenn ihr nicht jedes mal ein Passwort eingeben wollt, könnt ihr das Passwort-Feld leer lassen oder einen SSH Agent nutzen.

  1. Übertragt den öffentlichen Teil des Schlüssels an den server:
ssh-copy-id -i ~/.ssh/id_ed25519 -o PreferredAuthentications=password uran
  1. Wenn alles geklappt hat, könnt ihr euch jetzt beim einloggen mit dem Passwort eures Schlüsselpaares (falls ihr eins habt) einloggen.

SH Einführung

Vorwort

Ihr seid jetzt in einer Shell, wahrscheinlich bash (Bourne Again SHell). Eine Shell ist vergleichbar mit der cmd.exe oder powershell.exe unter Windows oder zsh unter MacOS. Es ist ein Programm, welches euch eine Umgebung bietet, in welcher ihr beliebig andere Programme aufrufen könnt über die reine Eingabe von Text.

Das Shell Interface

muster00@uran:~$
^        ^    ^  ^
|        |    |  \ Eingabe
|        |    \ Momentanes Arbeits-Verzeichnis ("~" ist "/home/muster00")
|        \ Hostname der Maschine
\ Username

Navigation

Ihr befindet euch momentan in eurem HOME-Verzeichnis. 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.

$ ls
Documents Downloads Games Pictures Videos Desktop Music
$ ls /tmp/foo
bar
cd

Wechselt das momentane Arbeits-Verzeichnis in das angebene. Wird kein Verzeichnis angegeben, so wechselt das Arbeitsverzechnis in das Heim-Verzechnis (~).

$ cd /tmp/foo
$ ls
bar
$ cd
$ ls
Documents Downloads Games Pictures Videos Desktop Music
pwd

Gibt das momentane Arbeits-Verzeichnis zurück.

$ pwd
/home/muster00
cp & mv

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.

$ cp /tmp/foo/bar bar
$ ls
bar
$ ls /tmp/foo
bar
$ mv bar baz
$ ls
baz
rm

Löscht die angegebene Datei.

$ ls
baz
$ rm baz
$ ls
$
wget

Lädt eine Datei über http/s runter und speichert diese im momentanen Arbeits-Verzechnis

$ wget https://example.org/example
$ ls
example
$ rm example
unzip

Extrahiert eine .zip-Datei.

$ unzip example.zip
$ ls
example

Testprojekt

CMakeFiles.txt
cmake_minimum_required(VERSION 3.0.0)
project(Test LANGUAGES C VERSION 0.0.1)

add_executable(main
    ${PROJECT_SOURCE_DIR}/main.c
)
main.c
#include <stdio.h>

int main() {
  printf("hey world ^^\n");
  return 0;
}