SSH Guide für BS
Inhaltsverzeichniss
- IRB VPN Einrichtung
- Verweis auf OpenVPN guide der IRB
- SSH Einrichtung
- Erstanmeldung
- Übertragung des Schlüssels (Optional)
- Konfiguration der ssh Datei
- 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
- Navigation mit
- 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
- Macht euch einen IRB Pool-Account, falls ihr noch keinen habt.
- 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 denopenvpn
Befehl direkt.$ sudo openvpn --config vpn_client.ovpn
- 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
- 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
- Verbindet euch mit der IRB VPN.
- Falls die Datei
~/.ssh/config
noch nicht existiert, fügt diese hinzu.
touch ~/.ssh/config
chmod 600 ~/.ssh/config
- 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
).
- Jetzt könnt ihr euch mit den servern ganz leicht über SSH verbinden. Gebt dazu einfach bspw
ssh uran
ein, um euch mit demuran
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.
- 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.
- Übertragt den öffentlichen Teil des Schlüssels an den server:
ssh-copy-id -i ~/.ssh/id_ed25519 -o PreferredAuthentications=password uran
- 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;
}