SSH - Überblick verschaffen

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Amitor123
Beiträge: 2
Registriert: 01.03.2017 14:16:29

SSH - Überblick verschaffen

Beitrag von Amitor123 » 01.03.2017 18:02:31

Hallo,
ich bin Werkstudent und stehe vor einer etwas unübersichtlichen Aufgabe und sehe vermutlich den Wald vor lauter Bäume nicht.

Ziel: Mitarbeiter sollen sich mittels SSH Zertifikate ohne Passwörter auf verschiedene Server des Unternehmens einloggen können. Jeder Mitarbeiter braucht seine eigene Zertifikate, die sich auch entfernen lassen können, falls Mitarbeiter das Unternehmen verlassen.

Ich muss nun herausfinden wie das geht und es dokumentieren. Ich bekomme demnächst Zugang zu einem SSH Server, den mein Vorgesetzter für mich erstellt. Bis dahin arbeite ich mich soweit ein und versuche das alles auf einer Testumgebung selber hinzubekommen.

Mein generelles Problem: Ich bin ein absoluter Linux-Frischling, habe noch nie ernsthaft mit dem Terminal gearbeitet und mit Netzwerke und Protokolle habe nur bedingt zu tun gehabt und praktisch eher gar nicht und ich stehe im Anbetracht der massiven Informationsflut, die seit 4 Tagen auf mich einprasselt etwas unter Zeitdruck, um mich dann noch in die falsche Richtung durchzukämpfen.
Daher wäre es hilfreich, wenn ich etwas Orientierungshilfe haben könnte oder ihr zu meinem Ansatz etwas sagen könntet.

Ich habe jetzt auf meinen Windows-Rechner die die Virtualbox von Oracle heruntergeladen und eine schlanke VM mit Debian-8.7.1-i386 eingerichtet. 2 Tage habe ich versucht ein Internes Netzwerk zwischen zwei VMs einzurichten, was wohl der falsche Ansatz war. Jetzt habe ich den SSH-Server standarfmäßig auf NAT gelassen und kann zumindest den Host anpingen. Anschließend PuTTY auf dem Host installiert und schau mir jetzt warum PuTTY "connection timed out" kriege. Ich denke es hat etwas mit der Portweiterleitung zu tun.

Das eigentliche Problem jedoch ist, dass mein Ansatz unvollständig und ich nicht wirklich von anfang bis zu Ende in googlebare Worten beschreiben kann was ich eigentlich vorhabe.

Wie würdet ihr grob von Anfang bis zu Ende vorgehen, um das o.g. Ziel umzusetzen?

TomL

Re: SSH - Überblick verschaffen

Beitrag von TomL » 01.03.2017 18:15:54

Amitor123 hat geschrieben:Wie würdet ihr grob von Anfang bis zu Ende vorgehen, um das o.g. Ziel umzusetzen?
Als erstes eine "echte" Linuxmaschine (natürlich Debian) einrichten....mit "eigener direkter" Kontrolle und Verantwortlichkeit über die Hardware.... entweder Dual-Boot in einer kleinen Minipartition <16 GB.... oder halt exklusiv. Ich glaube, mit ner VM wird das so nix... und ich betrachte das für einen Anfänger bei solchen Problemen als Zeitverschwendung. Hingegen mit ner echten Linux-Maschine ist das gar nicht so kompliziert.
Zuletzt geändert von TomL am 01.03.2017 18:18:41, insgesamt 1-mal geändert.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: SSH - Überblick verschaffen

Beitrag von eggy » 01.03.2017 18:18:25

a) Linux installieren (Kann ohne X-Server sein, vorzugsweise auf Hardware, irgendnen alter Rechner wird ja wohl aufzutreiben sein)
b) Accounts anlegen: user1, user2, user3
c) versuchen ob Du Dich als user1 einloggen kannst, wenn ja, versuchen ob von dort aus ssh-login per password geht (ssh user2@localhost)
c.2) falls nicht: ssh server installieren und konfigurieren
d) keys für die user erstellen
e) ssh-Login auf keys only umstellen (man ssh lesen, hier im Forum gibts ausreichend viele Anleitungen)
f) ausprobieren
g) sich überlegen wie und wo die Keys erstellt werden (man ssh-keygen) und wo welche Keys abgelegt werden (Stichwort: ~/.ssh/authorized_keys) und was wo gelöscht werden muss - aufschreiben -
h) und dann drüber nachdenken wie man das am geschicktesten automatisiert bekommt


edit: Wort vergessen

sdh82
Beiträge: 160
Registriert: 07.10.2006 22:39:04

Re: SSH - Überblick verschaffen

Beitrag von sdh82 » 08.03.2017 14:01:32

Sorry fuer die Rueckfrage, meintest du Zertifikat ala SSH (Private-/Publickey) oder X509 Zertifikat, das z.B. von GSISSH verwendet wird?

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: SSH - Überblick verschaffen

Beitrag von uname » 09.03.2017 08:34:47

Die Voraussetzungen sind denkbar schlecht. Du hast wenig Ahnung und bist vor allem nicht bereit dein Windows-System ernsthaft für diesen Test aufzugeben. Und dann putty.exe und VMs. Da baust du dir zwei neue, unnötige Probleme ein.
Wie oben empfohlen besorge dir ein paar alte Rechner (z.B. 10 Jahre alt) und installiere darauf zuhause (denn die Zeit wirst du brauchen um alles zu verstehen) die Rechner, hänge sie in dein WLAN oder LAN und übe dann mit diesen Rechnern. Alle Rechner können gleichzeitig als SSH-Server (Debianopenssh-server) und SSH-Client (Debianopenssh-client) dienen. Ob du ein Desktop wie Gnome, KDE, Cinnamon, Mate, Xfce, Lmde oder Window-Manager wie z.B. Openbox installierst (also generell eine bunte GUI) ist egal. Geht mit und ohne und ist vollkommen irrelevant.
Nutze diese Linux-Rechner (natürlich Debian) ausschließlich am besten für alles inkl. Internet-Recherchen und auch sonstige private Dinge, wo du kein Windows brauchst. Nur so kannst du überhaupt was lernen. Wenn du es verstanden hast kannst du die SSH-Private-Keys auch irgendwie bei Windows in die Putty-Konfiguration reintüdeln. Das ist dann aber auch das einzige relevante Windows-Problem. Der Entanwender wird wahrscheinlich irgendwie in Putty die Keys generieren und den Public-Key dir zur Verfügung stellen müssen, den du dann auf alle SSH-Server verteilst. Fertig ist die Lösung.

Benutzeravatar
spiralnebelverdreher
Beiträge: 1296
Registriert: 23.12.2005 22:29:03
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Frankfurt am Main

Re: SSH - Überblick verschaffen

Beitrag von spiralnebelverdreher » 09.03.2017 10:58:43

Amitor123 hat geschrieben:Hallo,
ich bin Werkstudent und stehe vor einer etwas unübersichtlichen Aufgabe und sehe vermutlich den Wald vor lauter Bäume nicht.
...
Wie würdet ihr grob von Anfang bis zu Ende vorgehen, um das o.g. Ziel umzusetzen?
Der Punkt "ssh verstehen durch praktische Anwendung im Kleinen" wurde ja schon genannt. Ein Netzwerk aus zwei oder drei Rechnern mit jeweils drei Benutzern sollte dazu vollkommen ausreichen. Ob du das besser mit Virtualbox machst oder echter Hardware erledigst hängt von deinem Geschick (bzw. Vorwissen und Unterstützung) im Umgang damit ab. Bei Virtualbox solltest du beachten, dass der Wirts-Rechner recht viel RAM haben sollte damit das flüssig läuft wenn du Linux-Distris mit grafischer Oberfläche verwenden willst. Bei Umsetzung mit solltest du den Rechnern eindeutige und merkbare Namen bei der Installation mitgeben. Ich verwende da immer europäische Städtenamen, aber das geht natürlich auch mit Planetennamen oder anderen Fantasienamen.

Zum zweiten ist es nie falsch nach Tutorials / Literatur / Anleitungen zu diesem Thema zu suchen. Es gibt da einiges, z.B http://www.online-tutorials.net/securit ... tikelserie

Aus deiner Aufgabenstellung klingt an, dass die _eigentliche_ große Hürde sein wird, dass Thema Key-Management zu verstehen. Die Nutzung des private/public Keypairs für ssh ist da nur ein möglicher Anwendungsfall. Es ist so, dass das ganze Thema Authentifizierung und Verschlüsselung mittels Schlüsselpaaren im Kleinen relativ einfach ist. Die echte Herausforderung ist die langfristige Verwaltung der Schlüsselpaare in einer größeren Organisationseinheit mit vielen Leuten und vielen Rechnern in unterschiedlichen Netzen.

Wenn du dein kleines Netzwerk mal eingerichtet hast, kannst du ja einige simple Anwendungsfälle durchprobieren:
  • Ein Nutzer verlässt die Firma. Was ist bei den Keys zu ändern?
    Ein Nutzer bekommt andere Aufgaben.
    Ein Nutzer kommt neu in die Firma.
    Der Chef (oder sonst wer) möchte einen aktuellen Überblick über die aktuellen Zugangsberechtigungen.
    Alte Schlüsselpaare müssen komplett ersetzt werden.

Amitor123
Beiträge: 2
Registriert: 01.03.2017 14:16:29

Re: SSH - Überblick verschaffen

Beitrag von Amitor123 » 09.03.2017 18:05:11

Erstmals danke für die Tipps. Ich habe mir jetzt einige Tage genommen und mich erstmalig etwas tiefer mit shell auseinander gesetzt. So langsam fang ich an gefallen dran zu finden :D . SSH an sich scheint (bisher) nicht die Probleme zu machen, aber sich mit den Einstellungen der Virtualbox herumzuschlagen nervt total. Leider ist eine richtige Maschine in der Firma nicht drin. Nach den Klausuren kann ich mir zuhause dann spaßeshalber eine richtige Maschine aufsetzenbzw. erstmal eine auftreiben. Vorgesetzter gab mir vorhin Zugang zu zwei richtige VM's auf, wo ich mit Putty darauf zugreife. Ich fang jetzt also wieder bei null an.
Mit Zertifikate meine ich im übrigen privat-/public key.
Ich kämpfe mich da mal erstmal durch und wenn public key authentification läuft, schau ich dann step by step weiter.

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: SSH - Überblick verschaffen

Beitrag von uname » 09.03.2017 21:20:55

So langsam fang ich an gefallen dran zu finden
Vorteil an den Terminalbefehlen ist, dass sie sich über Jahrzehnte nicht geändert haben und auch nicht ändern werden. Wenn du verstanden hast, dass im Prinzip alle Befehle gleich sind, alle Pakete gleich aufgebaut sind und die Grundstruktur durchgängig logisch ist, dann ist es nicht nur leicht Debian GNU/Linux zu verstehen, sondern dich selbst ganz einfach fortzubilden und neue Befehle einfach zu verstehen.

Liste aller installierter Pakete:

Code: Alles auswählen

dpkg -l |more
Beispiel Paket Debiancoreutils

Code: Alles auswählen

dpkg -L coreutils
dpkg -L |fgrep true
dpkg -S /bin/true
man true
Geht natürlich auch für sinnvollere Programme als /bin/true, welches immer nur true ausgibt ;-) Kannst du mit jedem Befehl aus Debiancoreutils machen. Oder umgekehrt mit jedem Programm aus /bin, /usr/bin, /sbin oder /usr/sbin. Da hast du einiges zu tun. Wo du dabei bist kannst du natürlich auch gleich den meist C-Quellcode lesen. Bei /bin/true nicht wirklich interssant, da wie gesagt nur true (1) ausgegeben wird.

Antworten