Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
debian:ssh-debian:start [2017/03/16 15:56] – created michael | debian:ssh-debian:start [2017/08/22 15:52] (current) – [Erstellen des SSH-Key-Pairs] michael | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== SSH Server via Keys auf Ubuntu / Debian ====== | ====== SSH Server via Keys auf Ubuntu / Debian ====== | ||
+ | |||
+ | Sobald man einen **Fernzugriff** auf seine **Linux-Systeme**, | ||
+ | |||
+ | //Doch nun zum Problem;// Passwörter sind heutzutage nicht mehr genug sicher, um auch wirklich einen Server mit sensiblen Daten zu schützen. Brute-Force-Attacken nehmen vermehrt zu und werden auch durch immer länger werdende Passwortlisten ständig effektiver. //Doch wie kann man sich nun dagegen schützen?// | ||
+ | |||
+ | <wrap hi>Der Public-Key wird auf allen Linux Systemen hinterlegt, während der Private-Key NUR auf dem Client bleibt, welcher später eine Verbindung zu den Server aufbauen soll.</ | ||
+ | |||
+ | <wrap em> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Erstellen des SSH-Key-Pairs ===== | ||
+ | Der erste Schritt ist auch gleich der kürzeste. Mit einem einzigen Befehl lässt sich das Pair erstellen. | ||
+ | < | ||
+ | # ssh-keygen -t rsa -b 4096 | ||
+ | </ | ||
+ | |||
+ | Anschliessend wird man noch gefragt, wo der Schlüssel gespeichert werden soll. Mit „Enter“ wird er am Standartort hinterlegt (/ | ||
+ | |||
+ | <sxh plain; gutter: false;> | ||
+ | [rebermi@vsat1t ~]$ ssh-keygen -t rsa -b 4096 | ||
+ | Generating public/ | ||
+ | Enter file in which to save the key (/ | ||
+ | Enter passphrase (empty for no passphrase): | ||
+ | Enter same passphrase again: | ||
+ | Your identification has been saved in / | ||
+ | Your public key has been saved in / | ||
+ | The key fingerprint is: | ||
+ | dc: | ||
+ | The key's randomart image is: | ||
+ | +--[ RSA 4096]----+ | ||
+ | | . .| | ||
+ | | o E o + | | ||
+ | | + o o + o| | ||
+ | | o o o = +.| | ||
+ | | S . + +.+| | ||
+ | | . o+| | ||
+ | | . . o| | ||
+ | | . ..| | ||
+ | | .. | | ||
+ | +-----------------+ | ||
+ | </ | ||
+ | |||
+ | Der **Puplic-Key** wurde nun unter **/ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Server mit Public-Key versorgen ===== | ||
+ | Jetzt müssen, wie oben schon erwähnt nur noch die anderen Server bzw. Systeme, //(auf die zugreifen werden soll)//, von dem neu erstellten Public-Key erfahren. Dafür gibt es einen ganz einfachen Befehl: | ||
+ | |||
+ | < | ||
+ | # ssh-copy-id root@IP-oder-Name-des-Zielsystems | ||
+ | </ | ||
+ | |||
+ | Nach ausführen des Befehls, wird nach dem Passwort gefragt. Dies ist das Passwort des Nutzers, in dem Falle Root, auf dem Zielsystem. Hintergrund des Ganzen ist folgender: //Dein Client öffnet eine SSH-Verbindung zum Zielsystem und fügt deinen Public-Key in die dortige ~/ | ||
+ | |||
+ | < | ||
+ | # cat ~/ | ||
+ | </ | ||
+ | |||
+ | Ab jetzt sollte man ohne das Passwort des Servers bzw. des Zielsystems eine Verbindung über SSH herstellen können. Wenn ein Passwort für den Privat-Key erstellt wurde, wird nun stattdessen dieser verlangt. | ||
+ | |||
+ | Da man das normale Login mit Passwort jetzt nicht mehr benötigt, kann man wie schon erwähnt, den Zugriff über SSH via Passwort auch komplett verbieten. In dem Fall empfiehlt sich jedoch eine Sicherheitskopie des Privat-Keys anzulegen. Denn wenn dem Client mal etwas passiert, und man keinen physikalischen Zugriff mehr auf das Systeme hat, sperrt man sich so selber aus. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Zugriff per Passwort deaktivieren ===== | ||
+ | Um den Zugriff via Passwort über SSH zu deaktivieren, | ||
+ | < | ||
+ | # vim / | ||
+ | </ | ||
+ | |||
+ | In diesem Konfigurationsfile sucht man anschliessend den Eintrag „**PasswordAuthentication**“ und ändert den Eintrag auf **PasswordAuthentication no**. // | ||
+ | |||
+ | <WRAP center round box 100%> | ||
+ | # Change to no to disable tunnelled clear text passwords | ||
+ | |||
+ | PasswordAuthentication **no** | ||
+ | </ | ||
+ | |||
+ | Zum Abschluss, muss nun noch der SSH-Service neu gestartet werden: | ||
+ | < | ||
+ | # service ssh restart | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Schlusswort ===== | ||
+ | Die Nutzung eines SSH-Keys ist einem Passwort immer vorzuziehen und ist um einiges sicherer. Allerdings ist es sehr schwer, an entfernte Systeme heranzukommen, | ||
+ | |||
+ | Wird Windows als Client verwendet, kann automatisch beim booten den Private-Key mit dem Putty Tool " | ||
+ | |||
+ | Zum automatisieren, | ||
+ | |||
+ | **Beispiel: | ||
+ | |||
+ | <wrap em> | ||