Skip to main content
Hyper 8 Spacefun Videos

Sicherer SSH-Zugriff unter Linux

720p 2.6 MB 720p 2.6 MB

Einsteiger - Preview

Distro WAS? Was ist eine Linux Distribution 20 Mar 2024, 52 sec
Linux herunterladen und Brennen 20 Mar 2024, 52 sec
Meine Lieblings Firefox AddOns 20 Mar 2024, 52 sec
Linux Installieren für Anfänger: In nur 15 Minuten ist Linux drauf 20 Mar 2024, 52 sec
pimp My IceWM - Linux Desktop Design mit Themes und Icons anpassen 20 Mar 2024, 52 sec
Programme installieren unter Linux auf der CLI und mit der Paketverwaltung 20 Mar 2024, 52 sec
Linux Terminal für Einsteiger 20 Mar 2024, 52 sec
Linux updaten - So aktualisierst du sicher deine Linux Distribution 20 Mar 2024, 52 sec
Benutzer und Gruppen verwalten unter Linux 20 Mar 2024, 52 sec
LibreOffice über die Kommandozeile installieren 20 Mar 2024, 52 sec
Linux Password einfach ändern auf der CLI 20 Mar 2024, 52 sec
Logdateien unter Linux anzeigen und Fehler analysieren 20 Mar 2024, 52 sec
Linux Bootsplash anpassen mit Plymouth 20 Mar 2024, 52 sec
Festplattenauslastung unter Linux ermitteln 20 Mar 2024, 52 sec
Desktop Icons mit iDesk für deinen Linux Windowmanager 20 Mar 2024, 52 sec
Linux Firewall einrichten – Schritt für Schritt zum sicheren System 20 Mar 2024, 52 sec
Alle Programme sofort griffbereit: Application Finder einrichten (oder "Wie komme ich aus vi raus?") 20 Mar 2024, 52 sec
Gefahr gebannt! ClamAV Virenabwehr für dein Linux System 20 Mar 2024, 52 sec
Wie man den Memtest86+ RAM-Test unter Linux erfolgreich nutzt 20 Mar 2024, 52 sec
Unterschiedliche Desktop Umgebungen testen 20 Mar 2024, 52 sec
Linux Backup Tutorial - Laufwerk vorbereiten 20 Mar 2024, 52 sec
Linux Backup Tutorial: Back In Time 20 Mar 2024, 52 sec
Dynablaster Revenge - Bomberman Spiel selbst compilieren 20 Mar 2024, 52 sec
Linux Desktopumgebung LXQt vs. LXDE 20 Mar 2024, 52 sec
Desktop Effekte unter LXQt aktivieren 20 Mar 2024, 52 sec
Die besten Podcast-Clients für Linux 20 Mar 2024, 52 sec
Replay
Current video (27 of 38) in Einsteiger - Preview Sicherer SSH-Zugriff unter Linux 20 Mar 2024, 52 sec
Firefox direkt von Mozilla.org installieren 20 Mar 2024, 52 sec
Software sauber entfernen unter Linux mit Apt Rollback 20 Mar 2024, 52 sec
Linux Remote Desktop mit X2Go 20 Mar 2024, 52 sec
Ubuntu LTS installieren oder aktualisieren 20 Mar 2024, 52 sec
Windows in Docker 20 Mar 2024, 52 sec
Portmaster - die perfekte Desktop-Firewall 20 Mar 2024, 52 sec
Linux Multiboot – USB-Stick & Netzwerk mit Ventoy und iVentoy 20 Mar 2024, 52 sec
Thunderbird - das sichere E-Mail Programm 20 Mar 2024, 52 sec
Datum und Uhrzeit einstellen unter Linux 20 Mar 2024, 52 sec
Schnellsten Linux Mirror ermitteln 20 Mar 2024, 52 sec
Festplatte partitionieren unter Linux 20 Mar 2024, 52 sec
00:00 / 00:52
Distro WAS? Was ist eine Linux Distribution 20 Mar 2024, 52 sec
Linux herunterladen und Brennen 20 Mar 2024, 52 sec
Meine Lieblings Firefox AddOns 20 Mar 2024, 52 sec
Linux Installieren für Anfänger: In nur 15 Minuten ist Linux drauf 20 Mar 2024, 52 sec
pimp My IceWM - Linux Desktop Design mit Themes und Icons anpassen 20 Mar 2024, 52 sec
Programme installieren unter Linux auf der CLI und mit der Paketverwaltung 20 Mar 2024, 52 sec
Linux Terminal für Einsteiger 20 Mar 2024, 52 sec
Linux updaten - So aktualisierst du sicher deine Linux Distribution 20 Mar 2024, 52 sec
Benutzer und Gruppen verwalten unter Linux 20 Mar 2024, 52 sec
LibreOffice über die Kommandozeile installieren 20 Mar 2024, 52 sec
Linux Password einfach ändern auf der CLI 20 Mar 2024, 52 sec
Logdateien unter Linux anzeigen und Fehler analysieren 20 Mar 2024, 52 sec
Linux Bootsplash anpassen mit Plymouth 20 Mar 2024, 52 sec
Festplattenauslastung unter Linux ermitteln 20 Mar 2024, 52 sec
Desktop Icons mit iDesk für deinen Linux Windowmanager 20 Mar 2024, 52 sec
Linux Firewall einrichten – Schritt für Schritt zum sicheren System 20 Mar 2024, 52 sec
Alle Programme sofort griffbereit: Application Finder einrichten (oder "Wie komme ich aus vi raus?") 20 Mar 2024, 52 sec
Gefahr gebannt! ClamAV Virenabwehr für dein Linux System 20 Mar 2024, 52 sec
Wie man den Memtest86+ RAM-Test unter Linux erfolgreich nutzt 20 Mar 2024, 52 sec
Unterschiedliche Desktop Umgebungen testen 20 Mar 2024, 52 sec
Linux Backup Tutorial - Laufwerk vorbereiten 20 Mar 2024, 52 sec
Linux Backup Tutorial: Back In Time 20 Mar 2024, 52 sec
Dynablaster Revenge - Bomberman Spiel selbst compilieren 20 Mar 2024, 52 sec
Linux Desktopumgebung LXQt vs. LXDE 20 Mar 2024, 52 sec
Desktop Effekte unter LXQt aktivieren 20 Mar 2024, 52 sec
Die besten Podcast-Clients für Linux 20 Mar 2024, 52 sec
Current video (27 of 38) in Einsteiger - Preview Sicherer SSH-Zugriff unter Linux 20 Mar 2024, 52 sec
Firefox direkt von Mozilla.org installieren 20 Mar 2024, 52 sec
Software sauber entfernen unter Linux mit Apt Rollback 20 Mar 2024, 52 sec
Linux Remote Desktop mit X2Go 20 Mar 2024, 52 sec
Ubuntu LTS installieren oder aktualisieren 20 Mar 2024, 52 sec
Windows in Docker 20 Mar 2024, 52 sec
Portmaster - die perfekte Desktop-Firewall 20 Mar 2024, 52 sec
Linux Multiboot – USB-Stick & Netzwerk mit Ventoy und iVentoy 20 Mar 2024, 52 sec
Thunderbird - das sichere E-Mail Programm 20 Mar 2024, 52 sec
Datum und Uhrzeit einstellen unter Linux 20 Mar 2024, 52 sec
Schnellsten Linux Mirror ermitteln 20 Mar 2024, 52 sec
Festplatte partitionieren unter Linux 20 Mar 2024, 52 sec
Hallo liebe Sternenwanderer. In diesem Video  möchte ich euch erklären, wie ihr mit Hilfe   00:01
von SSH auf euren Linux Computer zugreifen  könnt. SSH steht dabei für Secure Shell und   00:07
wie der Name schon vermuten lässt, handelt es  sich um eine sichere Shell-Verbindung über das   00:15
Netzwerk. Zur Vorbereitung brauchen wir ein  Zielsystem, das ist unser Server und einen   00:21
Client von dem aus wir zugreifen möchten. Mein  Zielsystem ist hier meine SpaceFun Installation   00:27
und ich habe jetzt hier parallel auch noch  ein openSUSE laufen. Das seht ihr hier unten   00:34
an dem Symbol. Von dem aus möchte ich gerne auf  meinen SpaceFun-Computer zugreifen. Dazu muss ich   00:38
als allererstes Mal auf dem SpaceFun hier den  OpenSSH-Server installieren. Denn OpenSSH ist   00:46
standardmäßig bei SpaceFun nicht aktiviert,  zumindest der Serverteil. Das mache ich,   00:53
weil ich möchte, dass euer Linux-System  im Standardausbau möglichst sicher ist.   00:58
Ich möchte keine unnötigen Dienste öffnen, sondern  ich möchte wirklich sicherstellen, dass ihr wisst,   01:03
was ihr tut. Das heißt, wenn ihr einen SSH-Server  installieren wollt, dann solltet ihr auch wissen,   01:09
wie ihr das genau macht. Und das zeige ich  jetzt hier in diesem Video. Dazu gehe ich   01:14
als allererstes mal ins Terminal und gebe den  Befehl 'sudo apt install openssh-server' ein.   01:19
Hier wird jetzt im Hintergrund bereits der  OpenSSH-Server installiert und die sogenannten   01:30
Host-Keys erzeugt. Mit den Host-Keys identifiziert  sich dein Computer im Netzwerk.  01:35
Die sind eindeutig und die sollten auch  immer auf jedem Computer unterschiedlich   01:42
sein. Jetzt läuft hier bereits der OpenSSH-Server,  denn unter Debian werden die Dienste automatisch 01:46
gestartet, wenn das Paket installiert  wurde. Jetzt können wir noch mal schauen,   01:54
wie das aussieht und zwar mit 'sudo netstat -antp'  kann ich mir alle Ports anzeigen lassen, auf   02:01
denen Dienste lauschen. In dem Fall ist das hier  der Port 22 und da lauscht überall der SSH-Dienst. 02:11
Das ist schon mal sehr gut. Ich  habe jetzt hier auch noch die   02:18
'ufw' aktiv. 'sudo ufw status', das  ist meine Firewall. Das habe ich in   02:21
einem anderen Video schon erklärt wie  die einzurichten geht. Schaut euch   02:26
das unbedingt an. 'sudo ufw status' in dem Fall  ist die Firewall inaktiv. Wenn die Firewall aktiv   02:30
ist also ich sage jetzt mal 'sudo ufw enable', sag  dann noch mal 'sudo ufw status' und dann sage ich 02:37
'sudo ufw allow ssh' und dann kann ich auch  erst mit SSH auf diesen Rechner zugreifen.   02:47
Vorher würde die Firewall tatsächlich  den Verbindungsaufbau schon blockieren.   02:55
Also falls ihr ufw nutzt, müsst ihr unbedingt  an dieser Stelle auch noch SSH erlauben,   03:00
sonst funktioniert das Ganze natürlich  nicht. Noch ein kleiner Hinweis. Wenn   03:05
ihr meine Tutorials in einer  virtuellen Maschine nachbaut, 03:09
dann arbeitet bitte möglichst mit dem  Netzwerktyp 'Bridged'. Im Netzwerktyp   03:13
'Natt' funktioniert das Ganze nicht.  Also ihr müsst unbedingt vorher,   03:19
bevor ihr überhaupt anfangt sicherstellen,  dass in dem Bereich Netzwerkeinstellung der   03:23
Netzwerktyp auf 'Bridged' eingestellt ist.  Also hier läuft jetzt bereits mein Server.   03:27
Jetzt könnte ich als allererstes schon mal  von meinem Client versuchen auf den Server   03:33
zuzugreifen. Doch dazu fehlen mir noch ein paar  Informationen, denn ich muss erstmal wissen,   03:37
wie heißt denn mein Rechner überhaupt  im Netzwerk dazu kann ich den Befehl   03:42
'hostname - f' angeben und hier in meinem Fall  heißt der 'starship'. Falls das nicht klappt mit   03:46
dem Zugriff über den Namen dann könnt ihr auch  die IP-Adresse ermitteln mit dem Befehl 'ip a' 03:53
für 'address' ' s' für show. Und hier wäre meine   04:00
IP-Adresse in meinem Netzwerk. Ich  kann für den Zugriff entweder den   04:05
Namen oder die IP-Adresse verwenden. Ich  schalte jetzt hier um auf meinen Client,  04:09
das ist meine openSUSE Maschine und versuche doch  jetzt hier schon mal mit SSH auf mein 'starship' 04:14
zuzugreifen. Dazu gebe ich 'ssh',  den Benutzernamen, der heißt jetzt   04:21
in meinem Fall 'astronaut', das ist  der Benutzername auf deinem Zielsystem,   04:26
auf dem System auf das du zugreifen möchtest. 04:31
'astronaut@starship'. Okay, jetzt sagt er  hier das gab schon mal, weil ich habe vorher   04:34
schon mal damit rum experimentiert habe. Dann  heißt es gibt ein bereits einen Key also ein   04:43
Host-Key. Das ist der Host-Key, den ich euch  vorher genannt habe und der wird gespeichert   04:49
in der Datei '~/.ssh/known_hosts'. Die  kann ich mir hier auch mal angucken   04:54
und da gibt's eben jetzt schon diese Host-Keys  und diese Host-Keys hat er sich bei vorherigen   05:00
Verbindungsaufrufen gemerkt und jetzt merkt er,  oh, da hat sich was geändert. Das muss ich das   05:05
erst wieder korrigieren weil, es muss ja  sichergestellt sein, dass der Rechner mit   05:10
dem ich mich verbinden möchte, wirklich auch der  ist, der vorzugeben scheint. Ich kann das jetzt   05:14
aber hier in dem Fall mal entfernen. Er hat auch  eine Backupdatei davon erstellt. Ich könnte auch   05:19
einfach die Zeile aus der 'known_hosts' Datei  löschen. Jetzt versuchen wir das ganze noch mal.   05:24
'yes'. Jetzt sagt er mir, okay, ist der Host-Key  wirklich der, auf den ich zugreifen möchte den hat   05:31
er hier vorher hier ausgegeben. Ich könnte jetzt  hier in dem Fall beispielsweise noch vergleichen   05:37
und dann könntet ihr mit diesem Host-Key sagen,  ja, das Fingerprint stimmt. 'yes'. Und jetzt   05:43
würde er euch nach eurem Passwort fragen. Das ist  das Passwort auf eurem Zielsystem. Das gebe ich 05:52
jetzt hier ein und ich sehe da, ich bin  jetzt schon auf meinem entfernten Rechner.   05:56
Ich sage mal 'pwd' /home/astronaut',  sag jetzt, 'touch testdatei' und gehe   06:01
jetzt mal auf meinem SpaceFun-System  wieder in meinen Filemanager und sehe,   06:09
da ist die Testdatei. Also es hat bereits  geklappt. Ich konnte hier zugreifen. Hier habt   06:16
ihr auch noch mal den Host-Fingerprint.  Ich empfehle euch den auch einmal 06:22
Irgendwo weg zusichern und dann seid ihr immer  sicher und wisst genau, wie euer Host-Fingerprint   06:25
heißt. Jetzt ist es aber so, dass der Zugriff  über Passwörter eigentlich als unsicher gilt. 06:29
Ihr solltet daher die Key-Authentifizierung  einschalten und dafür müssen wir erstmal so einen   06:35
sogenannten SSH-Key generieren. Den generieren  wir auf dem Client, von dem aus wir zugreifen   06:41
möchten. In dem Fall mein openSUSE System. Wie  das genau geht, das ist eigentlich ganz einfach.   06:48
Das habe ich hier schon mal rausgeschrieben, und  zwar kann man das mit dem folgenden Befehl machen.   06:54
Es gibt da verschiedene Verschlüsselungsverfahren  und in der mittlerweile hat sich das   06:59
Verschlüsselungsverfahren 'elliptic curves'  etabliert und das gilt als sehr sicher. Solltet   07:04
ihr aber mit angeben, denn standardmäßig wird oft  noch das veraltete RSA-Verschlüsselungsverfahren   07:09
verwendet. Ich gebe also hier beim Befehl  'ssh-keygen' noch den Typ ein. Das sind die   07:15
elliptic curves. Dann sage ich hier '-C' und kann  hier noch ein Kommentar angeben, damit ich weiß,   07:21
von wo die dieser Key stammt. Jetzt bin ich  hier, aber jetzt müsst ihr aufpassen. Ich bin   07:28
jetzt hier z.B. immer noch in der SSH Session  Das sehe ich hier: 'astronaut@starship'. Ich   07:33
will aber auf meinen SUSE-PC. Also sage ich  hier 'Ctrl+D' oder 'exit' und bin jetzt wieder   07:37
'lioh@opensuse'. Also da müsst ihr wirklich  aufpassen, dass ihr den Schlüssel auch an der   07:43
richtigen Stelle generiert. Also noch mal,  es ist 'ssh-keygen -t ed25519', das ist das   07:46
elliptic curves Verschlüssungsverfahren '-C' dann  die doppelten Anführungszeichen und ein Kommentar   07:55
ich nenne das jetzt 'lioh@opensuse', dann weiß  ich sofort, welcher Schlüssel das ist. 'Enter the   08:01
file path', jetzt kann ich hier so einen Pfad  angeben, wo der Key gespeichert werden soll. 08:08
Ich lasse das immer auf Standard, dann mache  ich mir das Leben deutlich einfacher damit.   08:12
Der liegt also hier auch im Verzeichnis  '~/.ssh/id_ed25519'. Ich sage hier einfach   08:16
Enter und jetzt müsste ich noch ein Passphrase  angeben. Das würde ich auf jeden Fall machen,   08:24
damit eurer SSH-Key auch wirklich sicher ist,  den müsst ihr euch merken. Und jetzt hat er   08:28
den Schlüssel bereits erzeugt. Wir können hier  uns das ganze noch mal anschauen. Ich gebe jetzt   08:35
hier mal ein ls -al ein, mach das ganze mal ein  bisschen größer, sag jetzt mal hier '~/.ssh', hier   08:39
ist noch wichtig, hier auf dieses Verzeichnis, das  hat er jetzt alles automatisch gemacht. Aber falls   08:45
ihr das mal einfach manuell machen wollt oder  die Schlüssel hin und her kopiert auf ein neues   08:50
System aus einer Sicherung z.B., schaut euch auch  dazu meine Tutorials zum Thema Datensicherung an,   08:54
dann seht ihr hier die Permissions müssen  stimmen. In das Verzeichnis. '~/.ssh'   09:00
darf nur ich darauf zugreifen, niemand  sonst. Ich sage jetzt hier 'cd ~/.ssh' 09:05
und sage jetzt hier auch noch mal 'ls -al'  und da seht ihr auch, das hier ist mein privater   09:12
Schlüssel. Den dürft ihr nie herausgeben und der  hat auch nur 'r' und 'w' Permissions für mich 09:17
Also nur ich darf den lesen und schreiben.  Das ist der öffentliche Schlüssel,   09:23
der ist etwas freizügiger aber  natürlich kommt man erst gar   09:26
ich in dieses Verzeichnis herein.  Hier ist diese 'known_hosts' 09:29
Datei, die haben wir uns ja eben schon  angeguckt. Also ich habe jetzt hier diesen   09:32
Schlüssel erzeugt jetzt weiß aber, mein  Zielserver also mein SpaceFun System hier,   09:36
weiß jetzt noch überhaupt nichts  von diesem Schlüssel. Das heißt,   09:41
den muss ich da jetzt erst einmal irgendwo  hinbekommen. Dazu kann ich den Befehl,   09:43
also ich könnte mir jetzt entweder den PublicKey  nehmen und den manuell in die sogenannte   09:47
'authorized_keys'-Datei kopieren oder ich  nutze jetzt hier den vereinfachten Befehl 09:52
'ssh-copy-id' und sage dann wieder mein Zielsystem 09:57
'astronaut@starship' und er hat jetzt hier  schon die Verbindung versucht aufzubauen und   10:04
fragt mich jetzt hier wieder nach einem Passwort  auf meinem SpaceFun System. Ich gib das hier   10:14
ein. So, oh er hat's gemacht. 'Now try to log in  without Passwort' So und das würde jetzt machen   10:19
'ssh astronaut@starship' Jetzt an dieser Stelle  fragt er mich nicht mehr nach meinem Passwort auf   10:26
dem Zielsystem, sondern nach dem Passwort von  dem Schlüssel, dass ich zuvor eingegeben habe   10:39
bei der Schlüsselerstellung. Da müsst ihr jetzt  hier aufpassen. Also jetzt bin ich wieder mit   10:43
dem Schlüssel hier auf dem System drauf. Damit  ich mir das jetzt sparen kann, jedes Mal immer   10:47
dieses Passwort für den Schlüssel einzugeben, kann  ich auch eine sogenannte 'keychain' verwenden. Das   10:54
muss ich erst installieren 'sudo', das ist  jetzt ein openSUSE System. Das kannst du   11:00
auf einem Linux System, auf SpaceFun, Debian,  Ubuntu, Mint, mit 'apt' machen. Ich verwende   11:05
jetzt hier auf Open 'zypper', 'sudo zypper in',  für install 'keychain'. Das Paket sollte überall   11:10
gleich heißen. Ich muss jetzt hier noch mein  Root-Passwort eingeben bei openSUSE. Das finde ich   11:19
übrigens sehr gut gelöst. Bei openSUSE kann man  es standardmäßig so einstellen, dass bei 'sudo'   11:24
das Root-Passwort gefragt wird und nicht das  gleiche Passwort das ich auch für meinen User   11:29
verwende. Wie das genau geht, erkläre ich euch  noch mal anderes Mal. Ich sage jetzt hier Ok,   11:33
'Ja', hier muss man es in Deutsch eingeben und  jetzt ist keychain bereits installiert. Das kann   11:37
ich jetzt mal ausführen und zwar hier mit dem  Befehl 'keychain --no-gui --quick' und würde dann   11:42
noch den Namen oder den Speicherort meines SSH  Schlüssels angeben. Also '~/.ssh' und dann aber   11:50
hier mein privater Schlüssel, weil den möchte ich  ja in den Keychain einladen. Ich sag jetzt hier   11:59
Enter, werde jetzt hier einmal nach dem Passwort  gefragt. Also das wäre jetzt mein Passwort von   12:04
meinem SSH-Schlüssel. Das gebe ich jetzt hier  ein und jetzt kann ich noch einmal versuchen,   12:09
mit SSH darauf zuzugreifen. Und jetzt werde ich  überhaupt nicht mehr nach dem Passwort gefragt   12:13
und es ist trotzdem sicher. Damit das Ganze  jetzt beim Starten automatisch gestartet wird,   12:17
kannst du das in die sogenannte '~/.profile'-Datei  eintragen. Dazu öffnest du mal 'nano ~/.profile'   12:23
und kannst hier am Ende der Datei  den Keychain-Start auslösen. Und   12:31
zwar startest du denn hier wieder mit den  Option '--no-gui --quick', aber auch noch   12:37
mit der Option '--quiet' damit keine Ausgabe  ausgegeben wird. Ich sage jetzt hier 'Ctrl+O',   12:43
Enter, 'Ctrl+x' und so wird das automatisch beim  Starten, beim Anmelden, denn die '~/.profile' wird   12:49
beim Starten einer Login-Shell ausgewertet, dann  wird es automatisch mitgestartet, und zwar nur   12:56
einmal. Jetzt können wir es noch so einstellen,  also das heißt den Server noch so einstellen,   13:01
dass wir hier auf den Server wirklich auch nur  noch den Zugriff über diese Keys erlauben und   13:07
den Passwort Zugriff ganz verbieten. Dazu kann  ich jetzt mal sagen 'sudo nano /etc/ssh/sshd',   13:11
das ist der Daemon, '_config', da müsst ihr  aufpassen, da gibt auch eine 'ssh_config',   13:21
aber wir wollen ja die Config für den Daemon,  für den Serverteil bearbeiten. Und die ist   13:25
jetzt hier relativ komplex 'Authentication'  'PermitRootLogins' das könntet ihr jetzt hier   13:30
auch noch sagen, dass Root-Logins ganz verboten  werden. Da sagt ihr hier 'PermitRootLogins no',   13:36
da könnt ihr die Raute davor wegnehmen. Dann  hier auf 'no'. 'PubkeyAuthentication yes' 13:41
'PasswortAuthentication no'. Das ist eben  noch ganz wichtig. Jetzt erlaubt er nur die   13:54
Anmeldung über den Schlüssel aber nicht mehr  über das Passwort. Hier wieder auch 'Ctrl+O',   14:00
Enter 'Ctrl+X', beenden. Jetzt müsst einmal  den Dienst neu starten 'sudo service ssh'   14:05
heißt der hier 'restart'. So jetzt versuchen  wir das Ganze doch noch mal. Also ich gehe   14:15
jetzt wieder auf meinen openSUSE drauf  und ich versuche jetzt mit SSH darauf   14:23
zuzugreifen. Hier ist jetzt der Schlüssel ja  natürlich schon hinterlegt. Das funktioniert   14:29
also ohne Probleme. Also ihr könnt es so weiter  absichern. Ihr könnt SSH für euch so einstellen   14:36
wie ihr das gerne möchtet und im nächsten Teil  zeige ich euch auch noch wie ihr über SSH eine   14:43
Remote-Desktop-Verbindung also eine grafische  Oberfläche über das Netzwerk aufbauen könnt.   14:49
Viel Spaß beim Nachbauen. Also falls ihr Fragen  habt, meldet euch in den Kommentaren oder noch   14:55
besser in unserer Telegram-Community. Ich freue  mich auf deinen Besuch. Bis bald und Tschüss 15:00
Hello fellow stargazers! In this video, I want to explain how you 00:01
can access your Linux computer using SSH. SSH stands for Secure Shell, and 00:07
as the name suggests, it's a secure shell connection over the 00:15
network. To prepare, we need a target system—our server—and a 00:21
client from which we want to access the system. My target system is my SpaceFun installation, 00:27
and I also have openSUSE running here in parallel. You can see this 00:34
from the icon below. I'd like to use this to access my SpaceFun computer. To do this, 00:38
the very first thing I need to do is install the OpenSSH server on SpaceFun. OpenSSH is 00:46
n't enabled by default on SpaceFun—at least not the server part. I'm doing this 00:53
because I want your Linux system to be as secure as possible in its default configuration. 00:58
I don't want to open any unnecessary services; I really want to make sure you know 01:03
what you're doing. That means if you want to install an SSH server, you should know 01:09
exactly how to do it. And that's what I'll show you in this video. 01:14
First, I'll go to the terminal and enter the command 'sudo apt install openssh-server'. 01:19
This will install the OpenSSH server in the background and 01:30
generate the so-called host keys. Your computer identifies itself on the network with the host keys. 01:35
They are unique and should always 01:42
be different on every computer. The OpenSSH server is already running here, because under Debian the services 01:46
start automatically when the package is installed. Now we can take another look at 01:54
what it looks like. With 'sudo netstat -antp' I can display all the ports on 02:01
which services are listening. In this case, that's port 22, and the SSH service is listening everywhere there. 02:11
That's already very good. I've also 02:18
activated 'ufw' here. 'sudo ufw status' is my firewall. I've 02:21
already explained how to set that up in another video. 02:26
Be sure to check it out. 'sudo ufw status' in this case the firewall is inactive. If the firewall 02:30
is active (I'll say 'sudo ufw enable'), then say 'sudo ufw status' again and then I'll say 02:37
'sudo ufw allow ssh' and only then can I access this computer via SSH. 02:47
Before that the firewall would actually block the connection. 02:55
So if you're using ufw, you absolutely have to allow SSH at this point as well, 03:00
otherwise the whole thing won't work. One more small tip: If 03:05
you're recreating my tutorials in a virtual machine, 03:09
please work with the 'Bridged' network type if possible. It won't work 03:13
with the 'Nat' network type . So you absolutely have to 03:19
make sure that the network type is set to 'Bridged' in the network settings before you even begin 03:23
. So my server is already running here. 03:27
The very first thing I could do now is try to access the server from my client 03:33
. But I'm still missing a bit of information. First, I need to know 03:37
what my computer is actually called on the network. To do this, I can 03:42
enter the command 'hostname -f', which in my case is 'starship'. If 03:46
accessing it via the name doesn't work, you can also determine the IP address using the command 'ip a' 03:53
for address ' s' for show. And here is my IP address on my network. I can 04:00
use either the name or the IP address 04:06
for access . I'm now going to switch to my client, 04:10
which is my openSUSE machine, and try to access my 'starship' with SSH 04:14
. To do this, I enter 'ssh', the username, which 04:21
in my case is 'astronaut', which is the username on your target system, 04:26
the system you want to access: 04:31
'astronaut@starship'. Okay, now it says this has already happened, because I've 04:34
experimented with it before. Then it says there's already a key, so 04:43
A host key. This is the host key I told you before, and it's stored in 04:49
the file '~/.ssh/known_hosts'. I can look at it here, 04:54
and there are already these host keys there, and it remembered these host keys from previous 05:00
connection requests, and now it notices, oh, something's changed. I have to 05:05
correct that first because I have to make sure that the computer 05:10
I want to connect to is really the one it claims to be. 05:14
But I can delete it here in this case. It also created a backup file of it. I could also 05:19
simply delete the line from the 'known_hosts' file. Now let's try the whole thing again. 05:24
'yes'. Now it tells me, okay, is the host key really the one I want to access? 05:31
It displayed it here before. In this case, for example, I could compare it here, 05:37
and then you could use this host key to say, yes, the fingerprint is correct. 'yes'. And now 05:43
it would ask you for your password. This is the password on your target system. I'll 05:52
enter it here, and I can see that I'm already on my remote computer. 05:56
I'll say 'pwd' /home/astronaut,' then say 'touch test file,' and go 06:01
back to my file manager on my SpaceFun system and see 06:09
the test file is there. So, it worked. I was able to access it here. Here 06:16
you also have the host fingerprint again. I recommend 06:22
saving it somewhere, so you'll always be safe and know exactly what your host fingerprint 06:25
is called. However, access via passwords is actually considered insecure. 06:29
You should therefore enable key authentication, and for this we first need 06:35
to generate a so-called SSH key. We generate this on the client from which we 06:41
want to access it—in this case, my openSUSE system. How this works is actually quite simple. 06:48
I've already written that out here, and you can do it with the following command. 06:54
There are various encryption methods, and the 06:59
'elliptic curves' encryption method has become established and is considered very secure. 07:04
You should specify it, though, because the outdated RSA encryption method is often still 07:09
used by default. So I'm entering the type here for the 'ssh-keygen' command. That's 07:15
elliptic curves. Then I say '-C' here and can add a comment so that I know 07:21
where this key came from. Now I'm here, but now you have to be careful. 07:28
For example, I'm still in the SSH session here. I see this here: 'astronaut@starship'. 07:33
But I want to access my SUSE PC, so I say 'Ctrl+D' or 'exit' and I'm now 07:37
'lioh@opensuse' again. So you really have to be careful that you 07:43
generate the key in the right place. So, to repeat, it's 'ssh-keygen -t ed25519', which is the 07:46
elliptic curves encryption method '-C', then the double quotation marks and a comment. 07:55
I'll call this 'lioh@opensuse', then I know immediately which key it is. 'Enter the 08:01
file path', now I can specify a path here where the key should be saved. 08:08
I always leave this at the default; it makes life a lot easier for me. 08:12
So it's located here in the directory '~/.ssh/id_ed25519'. I just say Enter here 08:16
, and now I need to enter a passphrase. I would definitely do that 08:24
to make your SSH key really secure; you have to remember it. And now it has 08:28
already generated the key. We can look at the whole thing again here. Now I'll type 08:35
ls -al here, make it a bit bigger, and say '~/.ssh'. 08:39
Another important thing here is this directory; it did all that automatically. But if 08:45
you just want to do it manually or copy the keys back and forth to a new 08:50
system from a backup, for example, check out my tutorials on data backup. 08:54
You'll see here that the permissions have to be correct. In the directory '~/.ssh' 09:00
Only I can access it, no one else. I'll say 'cd ~/.ssh' here 09:05
and then say 'ls -al' again and you can see that this is my private 09:12
key. You're never allowed to give it out and it only has 'r' and 'w' permissions for me, 09:17
so only I can read and write to it. This is the public key, 09:23
which is a bit more permissive but of course you can't get 09:26
into this directory in the first place. Here is the 'known_hosts' 09:29
file, which we've already looked at. So I've 09:32
created this key here but my target server, my SpaceFun system here, 09:36
doesn't know anything about this key yet. That means 09:41
I have to get it somewhere first. I can use the command 'ssh-copy-id' to do this, 09:43
I could either take the public key and 09:47
copy it manually into the 'authorized_keys' file, or I could use the simplified command 09:52
'ssh-copy-id' and then say my target system 09:57
'astronaut@starship'. It has already tried to establish the connection and 10:04
is now asking me for a password on my SpaceFun system. I enter that here 10:14
. There, oh, it did it. 'Now try to log in without password' And that would do 10:19
'ssh astronaut@starship'. At this point, it no longer asks me for my password on 10:26
the target system, but for the password for the key that I entered 10:39
when creating the key. You have to be careful here. So now I am back 10:43
on the system with the key. So that I can save myself from having to enter this password for the key every time 10:47
, I can also use a 'keychain'. I have to install 'sudo' first ; 10:54
this is an openSUSE system. You can 11:00
do this on a Linux system—on SpaceFun, Debian, Ubuntu, or Mint—with 'apt'. 11:05
Here on openSUSE, I'm using Zypper, 'sudo zypper in', to install 'keychain'. The package should 11:10
have the same name everywhere. I now have to enter my root password for openSUSE. I think that's 11:19
a very good solution, by the way. In openSUSE, you can set it by default so that when you use 'sudo,' 11:24
you're asked for the root password, rather than the same password you 11:29
use for your user account. I'll explain exactly how to do that another time. I'll say 'OK, 11:33
'Yes,' here you have to enter it in German, and now keychain is already installed. 11:37
I can run it now with the command 'keychain --no-gui --quick', and then I would 11:42
specify the name or location of my SSH key. So '~/.ssh' and then 11:50
my private key here, because I want to upload it to the keychain. I press 11:59
Enter here and I'll be asked for the password once. This would be my password for 12:04
my SSH key. I'll enter it here and now I can try to access it again 12:09
with SSH. And now I'm not asked for the password at all 12:13
and it's still secure. To have the whole thing start automatically when you boot up, 12:17
you can enter it in the '~/.profile' file. To do this, open 'nano ~/.profile' 12:23
and trigger the keychain start at the end of the file. 12:31
You start here again with the option '--no-gui --quick', but also 12:37
with the option '--quiet' so that no output is output. I'll now say 'Ctrl+O', 12:43
Enter, 'Ctrl+x', and it will be started automatically when I start up, when I log in. Because '~/.profile' is 12:49
evaluated when a login shell is started, it will then be started automatically, and only 12:56
once. Now we can configure it so 13:01
that we only allow access via these keys and 13:07
completely prohibit password access. For this, I can now say 'sudo nano /etc/ssh/sshd', 13:11
which is the daemon. '_config'—you have to be careful there, there's also an 'ssh_config'. 13:21
But we want to edit the config for the daemon, for the server part. And it's 13:25
quite complex here: 'Authentication' 'PermitRootLogins'. You could 13:30
also say here that root logins are completely prohibited. You say 'PermitRootLogins no' here, 13:36
you can remove the hash mark in front of it. Then set it to 'no'. 'PubkeyAuthentication yes' 13:41
'PasswordAuthentication no'. This is really important. Now it only allows 13:54
login via the key, but no longer via the password. Here again: 'Ctrl+O', 14:00
Enter 'Ctrl+X', stop. Now you have to restart the service: 'sudo service ssh', 14:05
it's called 'restart' here. So now let's try the whole thing again. I'm going 14:15
back to my openSUSE and trying 14:23
to access it with SSH. The key is already stored here, of course. So it works 14:29
without any problems. You can secure it further this way. You can configure SSH 14:36
however you like, and in the next part, I'll also show you how to use SSH 14:43
to establish a remote desktop connection, i.e., a graphical interface over the network. 14:49
Have fun recreating it. If you have any questions, let me know in the comments or, even 14:55
better, in our Telegram community. I look forward to your visit. See you soon, and bye. 15:00

In diesem Video zeige ich dir Schritt für Schritt, wie du einen sicheren SSH-Zugriff unter Linux einrichtest und optimal absicherst. Egal, ob du gerade erst mit SSH beginnst oder dein System noch sicherer machen möchtest – hier findest du alle wichtigen Infos und praktische Tipps!

Ich erkläre dir zunächst, was SSH eigentlich ist und wie du einen OpenSSH-Server auf deinem Linux-System installierst. Dabei gehe ich auf alle wichtigen Sicherheitsaspekte ein. Du lernst, wie du dich per SSH mit deinem Server verbindest – entweder über den Rechnernamen oder die IP-Adresse. Ich erkläre dir, wie Host-Keys funktionieren, wie du sie überprüfst und warum sie für die Sicherheit deiner Verbindung so wichtig sind.

Ein besonderes Augenmerk lege ich auf die sichere Authentifizierung mit SSH-Keys. Ich erkläre dir, wie du moderne, sichere Schlüssel mit elliptischen Kurven erzeugst, wie du sie auf den Server überträgst und wie du mit Tools wie Keychain die Anmeldung noch komfortabler machst. Außerdem zeige ich dir, wie du die Anmeldung über SSH nur noch mit Schlüsseln erlaubst – für maximale Sicherheit!

Alle Befehle und Konfigurationsschritte erkläre ich dir ausführlich im Video, damit du sie direkt nachmachen kannst. Wenn du Fragen hast oder Unterstützung brauchst, komm in unsere Community.

Viel Spaß beim Nachbauen und sichere Verbindungen!

Navigation

Video Player